【问题标题】:JavaScript - How to remove new line from textarea if no text exists before?JavaScript - 如果之前不存在文本,如何从 textarea 中删除新行?
【发布时间】:2015-04-06 06:43:06
【问题描述】:

我有一个textarea,如果按下返回键,我想从中删除新行,而不写任何文本。我试过了,但它不起作用:

function keypress(id) {
  $("#"+id).keypress(function(event) {
    $("#"+id).val().replace(/\n/g, "");
  });
}

【问题讨论】:

  • 所以你需要记录按下的键,然后检查return 键是否也被按下?
  • 那你到底是什么意思?
  • 当你按下回车键时,它会插入新行,我不想只提交没有任何文本的新行。
  • 只想在按下返回键时删除新行而不写任何文本

标签: javascript jquery


【解决方案1】:

试试

function keypress(id) {
    $("#" + id).keyup(function (event) {
        $(this).val($(this).val().replace(/^\s*(\n)\s*$/, ''))
    });
}

演示:Fiddle

【讨论】:

    【解决方案2】:

    你为什么不使用 Javascript trim 方法。

    来自https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim

    trim() 方法从字符串的两端删除空格。 此上下文中的空白是所有空白字符(空格、 制表符、不间断空格等)和所有行终止符(LF、 CR 等)。

    function keypress(id) {
       $("#"+id).keypress(function(event) {
          $("#"+id).val().trim();
       });
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-03
      • 1970-01-01
      • 1970-01-01
      • 2020-03-07
      相关资源
      最近更新 更多