如何处理文本区多行输入,如果用户点击“enter/return”;关键
how to process textarea multiple line input if user hit "enter/return" key
my coding:
...
<textarea name="TextArea1" id="TextArea" style="height ; width" ></textarea>
...
<script type="text/javascript">
var txt_element = document.getElementById("TextArea");
document.write (txt_element.childNodes[0].nodeValue);
</script>
...
但是它不识别回车键而是显示"
多谢
进一步阐述Chris的回答,问题在于浏览器呈现您所写的文本的方式与呈现其他html片段的方式相同,这意味着空白(包括回车)被视为单词分隔符,而不是行或段落分隔符。多个连续的空白字符被压缩成一个空格。这在html规范中有进一步的解释。
这与它在textarea元素中处理文本的方式不同。
所以正如Chris建议的,你需要用html <br>
元素替换字符串中的回车符:
var enteredText = document.getElementById("TextArea").value;
var updatedText = enteredText.replace(/'n/g, '<br />');
document.write(updatedText);
注意:您应该能够直接使用.value
而不是说.childNodes[0].nodeValue
来获取textarea的值。
注释2:我同意Chris所说的document.write()
-它通常不是最好的选择。
注3:如果您是为非windows系统提供服务,您可能还需要替换'r
。
文本区域使用'n
指定新行,沿着这些行应该可以工作:
string = document.getElementById("TextArea")childNodes[0].nodeValue;
string = string.replace(/'n/g, '<br />');
document.write('string');
不确定您是否只是在闲逛,但我觉得有必要提一下,一般来说,您不应该使用document.write()。
相关文章:
- 从远程脚本获取用户IP
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- d3基于用户选择动态更新节点
- 如果用户在输入上按 Enter 键,则取消挖空速率限制扩展器
- 当用户点击ctrl+enter时,如何将光标推到下一行
- 如何检测用户何时在输入字段中按Enter键
- 当用户在输入字段上按 Enter 时如何运行函数
- JS/jQuery - 当用户点击“Enter”时,blur() 不会触发
- 输入代码,当用户按Enter键时更改显示价格
- 当用户在输入id=“”中填充文本时,如何调用函数java脚本;value_ 1”;然后按键盘上的“Enter”
- 当用户在IE8中按enter键时,我如何阻止经典的asp页面提交表单
- 当用户按下ENTER键时做出反应
- 如何处理文本区多行输入,如果用户点击“enter/return”;关键
- 如何在用户按Enter时触发Tab
- 如何创建一个新的文本区域,当用户使用shift+enter提交
- 当用户在ext .form.field. htmlitor中键入文本时,捕获Ctrl+Enter
- 在GitHub的新问题页面的标题文本框中按Ctrl+Enter或Enter创建确认弹出框的用户脚本
- 当用户按文本框中的 Enter 键时执行按钮单击事件
- 用户脚本,用于在提交问题或通过在 GitHub 中按 Ctrl+Enter(内置热键)发布评论时创建确认弹出窗口
- Javascript登录表单没有't当用户点击Enter时提交