【发布时间】:2011-04-21 02:57:37
【问题描述】:
'<textarea name="textChange" class="signatureChangeText" cols="100" rows="4">'
+ SOME VARIABLE FULL OF TEXT
+ '</textarea>'
前面只是一个简单字符串的一部分,我正在使用它来更改 javascript 函数内部 div 的 innerHTML 属性。如果该变量包含一个字符串,该字符串包含 javascript 可解析数据(要解释的数据),例如加法符号或引号等,那么“某些变量 FULL OF TEXT”就是问题所在 - 脚本会中断。我该如何避免这种情况?顺便说一句,该变量对每个用户都是动态的,它由 php echo 语句填充,因此在后端插入到 javascript 中。我已经考虑过如何以另一种方式完成此任务,但没有人想到。数据来自数据库,我用 PHP 提取它,我需要将它插入到这个文本区域中,该文本区域是基于用户命令通过 innerHTML 动态创建并插入到页面中的。感谢您的帮助。
编辑:请求的上下文函数:
else if (theChange == 'signature') {
document.getElementById('userPanelChangeBox').innerHTML =
'<form action="tinUser_processor.php" method="post">'
+'Signatures cannot contain any markup (HTML, BBCode, etc) or styling and can only be 4 lines<br />'
+'Enter your new signature:<br /><br />'
+'<textarea name="textChange" class="signatureChangeText" cols="100" rows="4">'
+'<?php echo $userInfo['signature']; ?>'+'</textarea><br /><br />'
+'<input type="hidden" value="signature" name="typeChange" />'
+'<input type="submit" value="Submit Change" name="submitter" /></form>';
}
【问题讨论】:
-
你能告诉我们包括php在内的上下文
-
简而言之,我试图转义动态输入,以便解释器不会将 + 解释为 javascript 命令或将引号解释为命令等,以便我可以在即使用户可能已经输入了这些符号之一,等等。这可能有助于更好地解释它。
-
当然 -
-
它可以很好地提取数据,PHP 中没有问题,我只是想告诉 javascript 不要解释脚本的一部分中的任何编程,我只是想要它,完全,在 textarea 中,不要试图将任何内容解释为脚本。
-
我想我看不到 javascript 将如何解析 textarea 的文本
标签: javascript php string parsing