http://jsfiddle.net/bobbyrne01/Lnq5mffs/
HTML
.. <input type="text" id="separator" value="Doesnt\nwork" />
<input type="button" id="button" value="submit" />
javascript
.. document.getElementById('button').onclick = function(){
alert(document.getElementById('separator').value);
alert("This\nworks");
};
答案 0 :(得分:2)
没错,&#34; \ n&#34;意味着&#34;新线&#34;仅在字符串文字中使用时。您不能指望avarage用户输入&#34; \ n&#34;在输入框中,期望它被解释为新行。当用户输入&#34; \ n&#34;在输入框中,value属性设置为&#34; \\ n&#34;。
如果您确实需要将输入框内容解释为字符串文字,则可以使用替换,就像在这个小提琴中一样:http://jsfiddle.net/Lnq5mffs/2/。
document.getElementById('button').onclick = function(){
alert(document.getElementById('separator').value.replace('\\n', '\n'));
alert("This\nworks");
};
编辑:如果您想为用户提供输入多行文字的方法,请使用textarea:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea。