将HTML代码放入输入字段

时间:2014-04-18 23:29:51

标签: javascript php

我有这行会给我一个错误,因为该值包含HTML代码。

document.getElementById(\'longstory\').value = \''.$row['longstory'].'\';

是否有任何简单的方法可以在传递期间对其进行编码,然后在我的值中显示

<textarea class="form-control" id="longstory" name="longstory" placeholder="Longstory"></textarea><br />

最终将它显示为用户的HTML?

2 个答案:

答案 0 :(得分:0)

试试这个:

echo "document.getElementById('longstory').value = " . json_encode(html_entity_decode($row['longstory'])) . ";";

html_entity_decode()将解释值中的HTML实体代码,将它们转换为普通的PHP字符。然后json_encode()的输出将是值的Javascript语法。

问题不在于它包含HTML,问题是它包含Javascript字符串中不允许的字符,例如未转义的引号和文字换行符。 json_encode正确编码所有内容。

答案 1 :(得分:0)

在传递给js之前,尝试使用htmlspecialchars和addslashes函数。

document.getElementById(\'longstory\').value = \''.addslashes($row['longstory']).'\';