我一直在为我正在构建的站点/工具进行自定义表单完成工作。
我让搜索工作,它在输入字段下方的一个小 div 中显示结果。我想让用户查看结果,单击相应的结果,并允许它使用相应的数据填充表单字段。这在数据中没有特殊字符(即撇号)时有效,但如果它有撇号,则函数调用会中断。我非常了解将特殊字符更改为 HTML 特殊字符:
'
而且,我在将数据添加到数据库时已经这样做了。问题是,由于函数调用是通过 AJAX 放入 div 中的,因此 HTML 特殊字符在放入页面时会被“评估”,并成为文字字符。下面是一个函数调用的例子:
onclick="popForm('1234', 'Some Name', 'Another Name', 'Someguy's Thing', '5678')"
这是我正在尝试做的所有事情的清单:
- 用户在字段中输入数据
- 一个 javascript 函数通过 onkeyup() 捕获输入,并对其进行处理
- 该函数使用 AJAX 调用 PHP 脚本
- PHP 脚本执行搜索,获取结果,并回显一个包含结果的表,以及用于填充字段的 onclick 函数调用。
- Javascript 处理来自 AJAX 的结果,并将结果添加到 div 的 innerhtml。
- 用户单击结果,触发 onclick,使用单引号括起来的字符串参数进行函数调用
- 函数通过 document.getElementById("fieldname").value=string 将字符串添加到适当的字段中;
- 用户提交表单
目前,由于函数调用中的文字撇号,我们一直到第 6 步,这是它中断的地方。
关于如何解决这个问题的任何想法?