使用php变量用jquery添加textarea内容

时间:2012-06-14 08:01:13

标签: php jquery variables insert textarea

  

可能重复:
  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的内容中,但是我的输入不会破坏。

有任何建议!

4 个答案:

答案 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的扩展名。