我很困惑地发现Chrome,Opera和Safari的新版本不允许在INPUT元素内的文本中使用控制字符。事实上,\1
,\x02
,\b
等字符只是被解释为字符串终结符。
var input = document.createElement('INPUT');
input.value = 'Hello\x02 World!';
alert('input.value is "' + input.value + '" (' + input.value.length + ' chars)');
以上代码仅在Chrome,Opera和Safari上输出5个字符。
Firefox和IE不会显示此行为/错误/安全功能或其他任何内容。现在我的问题是你如何以一种适用于所有浏览器的方式发布包含普通Javascript中的特殊字符的表单?
JsFiddle: http://jsfiddle.net/Nkx4n/
答案 0 :(得分:0)
我正在使用chrome,就像你一样,如果我尝试将带有\的字符串与输入对齐,它会停止,但是如果用户直接在输入中输入它就没有问题,就像你看到的那样在this fiddle
myP.innerHTML = "Length is: " + myInput.value.length + " chars" + "; text is: " + myInput.value;
我不知道你是否需要在代码中设置值,但如果不需要,那么应该没有任何问题,因为用户仍然可以输入它并将其读取。