可能重复:
Pass a PHP string to a Javascript variable (including escaping newlines)
Hy,所以我的问题是我有一个用jquery生成的textarea,像这样:
$var input = $('<textarea name="somename"></textarea>');
$(something).after(input);
但是我也想用内容填充这个textarea(当然当内容存在时),使用php。 sp现在我的代码看起来像这样:
$var input = $('<textarea name="somename"><?=$variabel[0][something];?</textarea>');
$(something).after(input);
所以问题在于,当我运行这段代码时,javascript会自动填充该输入变量中textarea的内容,并且因为它有多行而中断,所以我得到一个错误,说“Unexpected token ILLEGAL”
我希望我解释得很好,所以我需要以某种方式将textarea的内容放在生成textarea的内容中,但是我的输入不会破坏。
有任何建议!
答案 0 :(得分:0)
删除$
它不是php变量,试试这个:
var input = $('<textarea name="somename"></textarea>');
$(something).after(input);
$('textarea[name="somename"]').val( <?php echo $variabel[0]['something']; ?> )
答案 1 :(得分:0)
您可以使用php函数json_encode()在输出之前对PHP变量进行编码。例如,它会将换行符转换为\ n。有关该功能的更多细节可以在这里找到
http://php.net/manual/en/function.json-encode.php
在你的情况下,它会是这样的:
var input = '<textarea name="somename"><?= json_encode($variabel[0][something]); ?></textarea>';
另请参阅以下问题:Pass a PHP string to a JavaScript variable (and escape newlines)
答案 2 :(得分:-1)
试试这个:
var $input = $('<?php echo "<textarea name=\"somename\">".htmlentities($variable[0]['something'])."</textarea>" ?>');
答案 3 :(得分:-1)
问题是语法错误,您需要>
来关闭PHP标记:
$var input = $('<textarea name="somename"><?=$var;?></textarea>');
使用Chrome内置的控制台可以轻松检测到此错误。或者,如果您使用Firefox,则可以使用名为Firebug的扩展名。