我在页面上有一个输入框,通过ajax调用重新加载(内容刷新)。问题是当输入框中有单引号时,剩余的值被截断,我该如何解决这个问题呢?
myVal = <-- its coming dynamically from db and when it contains values like "It's me", next time page reloads It just show "It" in input box
$('#myInput').val(myVal);
//after setting value and doing some other things, this content is reloaded
这是java(服务器端代码)
<input id="myInput" value="<c:if test='${deamer!=null}">${deamer.name}, ${deamer.code}</c:if>' />
当服务器端的值中有[']时代码失败....
答案 0 :(得分:2)
您遇到了转义字符串的问题。这一点很重要,因为对字符串转义的不当处理可能导致可能暴露于XSS和注入攻击。
由于您没有提供任何代码,也没有指定您在服务器端使用哪种语言在脚本上插入DB值,因此您无法获得更多帮助。我建议不要像这样插入原始数据,并使用某种形式的中介,例如JSON形式的服务器响应,可以很容易地通过javascript使用。
答案 1 :(得分:0)
我无法重现这个问题:
$(document).ready(function() {
myVal = "It's me"
$('#myInput').val(myVal);
});
输入中的文字就是我。