【问题标题】:add textarea content with jquery using php variable [duplicate]使用php变量使用jquery添加textarea内容[重复]
【发布时间】:2012-06-14 08:01:12
【问题描述】:

可能重复:
Pass a PHP string to a Javascript variable (including escaping newlines)

嘿,所以我的问题是我有一个用 jquery 生成的 textarea,如下所示:

$var input = $('<textarea name="somename"></textarea>');
$(something).after(input);

但我也想使用 php 用内容填充这个文本区域(当然,当内容存在时)。 sp 现在我的代码如下所示:

$var input = $('<textarea name="somename"><?=$variabel[0][something];?</textarea>');
$(something).after(input);

所以问题在于,当我运行此代码时,javascript 会自动填充该输入变量中 textarea 的内容,并且因为有不止一行它会中断,所以我收到一条错误消息“意外令牌非法”

我希望我解释得很好,所以我需要以某种方式将 textarea 的内容放在生成的 textarea 中,但要以一种我的输入不会中断的方式。

感谢您的任何建议!

【问题讨论】:

  • 尝试在vars之前删除$,在;?之后添加&gt;
  • @Engineer 抱歉我拼错了,但在我的真实代码中是正确的

标签: php jquery variables insert textarea


【解决方案1】:

您可以使用 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)

【讨论】:

  • 谢谢你解决了我的问题;
  • 没问题。另外我认为json_encode()htmlentities() 的更好替代品,因为它是专门为 javascript 制作的
【解决方案2】:

删除$它不是一个php变量,试试这个:

var input = $('<textarea name="somename"></textarea>');
$(something).after(input);
$('textarea[name="somename"]').val( <?php echo $variabel[0]['something']; ?> )

【讨论】:

    【解决方案3】:

    问题是语法错误,您需要&gt; 来关闭您的 PHP 标记:

    $var input = $('<textarea name="somename"><?=$var;?></textarea>');
    

    使用 Chrome 内置的控制台可以轻松检测到此错误。或者,如果您使用 Firefox,您可以使用名为 Firebug 的扩展名。

    【讨论】:

      【解决方案4】:

      试试这个:

      var $input = $('<?php echo "<textarea name=\"somename\">".htmlentities($variable[0]['something'])."</textarea>" ?>');
      

      【讨论】:

      • 谁在不发表评论的情况下对这里的所有答案投了反对票?
      猜你喜欢
      • 2023-03-10
      • 2021-12-29
      • 1970-01-01
      • 2014-09-18
      • 1970-01-01
      • 1970-01-01
      • 2011-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多