将HTML代码放入输入字段

I have this row that gives me an error because the value contains HTML Code.

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

Is there any easy way to like encode it during passing and then when showing it in my value

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

to get it show as HTML for the user in the end?

Try this:

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

html_entity_decode() will interpret HTML entity codes in the value, converting them into normal PHP characters. Then the output of json_encode() will be Javascript syntax for the value.

The problem isn't that it contains HTML, the problem is that it contains characters that aren't permitted in a Javascript string, such as unescaped quotes and literal newlines. json_encode encodes everything properly.

Try use the htmlspecialchars and addslashes functions before passin to the js.

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