我有一张表,我正在保存博客正文数据,数据通过TINYMCE编辑器,它保存标签和样式。当我提取数据以进行编辑并将其传递给函数以打开模态时,它会显示标记和所有内容并在按钮中输出数据。 这是代码:
<td>
<a class="btn btn-primary btn-md"
onclick="getData('<?php echo $blog->title?>','<?php echo
$blog->body?>',
<?php echo $blog->id?>')">Update</a>
</td>
这是getData函数
function getData(title,body,id) {
debugger;
document.getElementById('title1').value = title;
tinymce.get('body').setContent(body);
document.getElementById('blog_id').value = id;
$('#myModalUpdate').modal('show');
};
这就是它在页面上的输出方式 enter image description here
答案 0 :(得分:0)
您只需要一次考虑每个图层。
首先你有一些数据......
$blog->title
...你想把它放到JavaScript中。所以你必须逃避它以使其对JavaScript安全。 json_encode
将执行此操作,因为JSON是JS的子集。由于您输入了一个字符串,因此您将获得一个JSON字符串文字,因此您不能手动添加引号。
$js_safe_title = json_encode($blog->title);
$js_safe_body = json_encode($blog->body);
$js = "getData($js_safe_title, $js_safe_body);"
...然后你想把这个JS放到一个HTML属性中,所以你必须转义它才能使它对HTML安全:
$html_safe_js = htmlspecialchars($js);
然后你可以把它放在HTML中:
onclick="<?=$html_safe_js?>"