在HTML文本区域禁用换行

13

使用CSS或其他方式,是否可以禁止HTML文本区域中的换行?因此,基本上我希望用户按下“回车”键时什么也不发生。


1
可以使用JavaScript实现,但是可以被规避。我会在提交后在服务器端删除它们。 - Stephen
1
你想让内容在视觉上仍然换行吗?还是<input type="text".../>就足够了? - scunliffe
2个回答

22

使用jQuery,您可以像这样完成:

$(document).ready(function() {
  $("#t_area").keypress(function(event) {
    if(event.which == '13') {
      return false;
    }
  });
});

<textarea id="t_area"></textarea>

我还会使用PHP、ASP或者其他你有权限的服务器端脚本语言来完全清除所有换行符。


4
如果用户将带有换行符的文本复制粘贴或拖放到文本区域中会发生什么? - Clark
4
在Stack Overflow的评论框中,如果你复制粘贴或拖放文本,就会发生同样的事情。 :) 这种方法并非完全可靠,因此我强烈建议使用服务器端脚本语言来去除换行符,作为一种故障保护措施。 - Michael Irigoyen
这可能会让用户感到非常沮丧。显然这取决于具体情况,但我会使用php或javascript将其剥离 - onblur,或通过ajax发送,或者在任何时候:txtval = txtval.replace(/\n|\r/ig, ''); - David Hobs
禁用 \n 不等于去除 \n。对于我的情况,我需要保留 \n,只是不想换行。但我同意,在问题描述中这样做是可以的。在我的情况下,我需要处理溢出或换行相关的事情。 - Martin Melichar
如果您粘贴了多行文本,则它也无法正常工作。 - Atiar Talukdar

-1

可以使用wrap="soft,hard或off"来实现


4
不会阻止换行。 - AMember

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接