我一直致力于为我正在构建的网站/工具完成自定义表单。
我让搜索工作,它在输入字段下面的一个小div中显示结果。我想允许用户查看结果,单击相应的结果,并允许它使用相应的数据填充表单字段。这在数据中没有特殊字符(IE是撇号)时有效,但如果它有撇号,则函数调用会中断。我知道将特殊字符更改为HTML特殊字符:
'
而且,我在将数据添加到数据库时已经这样做了。问题是,由于函数调用是通过AJAX放入div中的,因此HTML特殊字符在放入页面时会被“评估”,并成为文字字符。以下是函数调用的示例:
onclick="popForm('1234', 'Some Name', 'Another Name', 'Someguy's Thing', '5678')"
以下列出了我正在尝试的所有内容:
目前,由于函数调用中的文字撇号,我们一直到第6步,它就是中断的地方。
有关如何解决此问题的任何想法?
答案 0 :(得分:1)
我会认真考虑重写你的逻辑。
eval
不好,mkay?element.addEventListener
)绑定到动态创建并附加到相应元素的第一类函数答案 1 :(得分:0)
您可以在php脚本中使用preg_replace
所有单引号(在步骤5之前)用“escape_quote”之类的特殊字符串替换,然后在popForm
函数中替换为{{1单引号“escape_quote”。
答案 2 :(得分:0)
您需要转义传递给具有撇号的javascript函数的数据。
onclick="popForm('1234', 'Some Name', 'Another Name', 'Someguy\'s Thing', '5678')"