javascript - 单击按钮时应用替换功能后,如何显示(不是通过警报,而是在文本区域本身)文本区域的值?

标签 javascript jquery

我有这个脚本和 html,用于提交表单:

<script type="text/javascript">
   function ApplyIndent() {
      var txtArea = document.getElementById('w2').value;
      var myRegExp = / /g;
      txtArea = txtArea.replace(myRegExp, "&#160;");
   }
</script>


<table cellpadding="0" cellspacing="0" border="0">
   <tr>
      <td><textarea id="w2" cols="50" rows="5"/></td>
   </tr>

   <tr>
      <td><input id="btnIndent" value="Indent" onclick="ApplyIndent()"/></td>
   </tr>
</table>

我在这里想要完成的是将空格替换为不间断空格,因为即使您在文本区域中缩进文本行,它也会在提交表单后自动对齐,除非您使用不间断空格。我测试了向文本区域发出警报,并且得到了所需的结果,但是,我需要的是警报中的值显示在文本区域本身上。我该怎么做?仅仅为了获得所需的空间而输入 ASCII 字符的效率很低,我们不希望这样。预先感谢!

Using <space> to indent

Result when using <space> after submitting form

Using non-breaking space to indent

Result when using non-breaking space after submitting form

最佳答案

var txtArea = document.getElementById('w2');
txtArea.value = txtArea.value.replace(/ /, "&#160;");

请注意,如果您想要 #160 表示的实际字符而不是拼写出来的 HTML 实体,请使用:

"\xA0"

编辑:再想一想,CSS white-space: pre-wrap 有什么问题吗?

关于javascript - 单击按钮时应用替换功能后,如何显示(不是通过警报,而是在文本区域本身)文本区域的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13890026/

相关文章:

javascript - graphqlHTTP 不是函数

internet-explorer - IE9 的 jQuery "Exception thrown and not caught"问题

javascript - 如何调用动态加载的 JavaScript 函数

javascript - 如何有条件地将引荐来源网址重定向到不同的网页?

javascript - 点击菜单切换

javascript - 为什么列表元素无法使用显示初始正确显示

javascript - 如何使用 JSON 作为 Javascript 的配置文件

javascript - 当我需要使用 browserify-rails 时,formsy-react npm 模块会破坏 Rails 应用程序

javascript - 跨浏览器功能标识

javascript - HTML 中的 "Read More"按钮自动隐藏/显示