私はCKeditorと1つのファイル入力要素を使用しています。そして、FormDataを使ってJquery Ajaxを渡しています。ここにJquery関数があります。私は$ TXTまたは直接の$ this - >入力 - >ポスト( "cmtWRITE")をエコーする場合、PHPの関数でJavascriptからPHPにスタイル属性を持つHTMLタグを渡す
function sample(){
var cmtWRITE=CKEDITOR.instances['cmtWRITE'].getData();
var vpb_files = document.getElementById('vpb-data-file').files;
var vpb_data = new FormData();
$.each(storedFiles, function(keys, values)
{
vpb_data.append(keys, values);
});
vpb_data.append('cmtWRITE', cmtWRITE);
console.log(cmtWRITE); // here just for confirmation
for (var pair of vpb_data.entries()) {
console.log("### "+pair[0]+ ', ' + pair[1]); // here just for confirmation
}
$.ajax({
url: base_url+'aaa/xxxx',
type: 'POST',
data: vpb_data,
cache: false,
processData: false,
contentType: false,
dataType : 'html',
beforeSend: function()
{
//doing some process
},
success: function(response)
{
//doing response
},
error:
function(e){
console.log('Error while request..'+JSON.stringify(e));
}
});
}
$txt=$this->input->post("cmtWRITE");
して値を取得し、それが印刷のように:
<p>Okay<em> </em><span [removed]>Noted</span></p>
が、コンソールに実際の値は
<p>Okay<em> </em><span style='color:#ff0000'>Noted</span></p>
である彼女私はCKエディタを通してフォント色を加えました。しかし、PHP側で[削除]を取得すると、フォントにスタイルが追加されません。 ここに私のckeditorのInit
CKEDITOR.replace("cmtWRITE", {
// Define the toolbar groups as it is a more accessible solution.
toolbarGroups: [
{"name":"basicstyles","groups":["basicstyles"]},
{"name":"links","groups":["links"]},
{"name":"paragraph","groups":["list","blocks"]},
{"name":"insert","groups":["smiley"]},
{"name":"styles","groups":["TextColor"]},
{"name":"colors","groups":["TextColor"]}
],
// Remove the redundant buttons from toolbar groups defined above.
removeButtons: 'Strike,Subscript,Superscript,Anchor,Specialchar,Image,Source,About,Flash,Table,SpecialChar,Iframe,HorizontalRule,PageBreak',
height:'100px'
//removePlugins: 'clipboard',
});
ありがとうございます。このうちから私を助けてください。
スタイルがワイヤを介して送信されていることを確認するためにネットワークモニタを確認しましたか?もしそうであれば、入力オブジェクトはユーザーからのHTMLをサニタイズしていますか? –
あなたは@元を得ませんでした – Gopalakrishnan