禁用 HTML 文本区域中的换行符
Posted
技术标签:
【中文标题】禁用 HTML 文本区域中的换行符【英文标题】:Disable linebreaks in HTML textarea 【发布时间】:2011-06-06 19:25:58 【问题描述】:使用 CSS 或任何其他方式,是否可以在 html 文本区域中禁止换行?所以基本上我不希望用户按下“输入”时发生任何事情。
【问题讨论】:
可以使用 javascript,但可以绕过。提交后我会在服务器端剥离它们。 您希望内容在视觉上仍然包裹吗?还是<input type="text".../>
就足够了?
【参考方案1】:
使用 jQuery,你可以这样做:
$(document).ready(function()
$("#t_area").keypress(function(event)
if(event.which == '13')
return false;
);
);
<textarea id="t_area"></textarea>
我还会使用 php 或 ASP 或您可以访问的任何服务器端脚本语言删除任何换行符,以彻底彻底。
【讨论】:
如果用户复制粘贴或拖放带有换行符的文本到文本区域会发生什么? ***.com/questions/4429757/… @Clark 如果您将文本复制并粘贴或拖放到 Stack Overflow 上的评论框中,也会发生同样的事情。 :) 无论如何它都不是万能的,这就是为什么我强烈建议使用服务器端脚本语言去除换行符作为故障保险。 这对用户来说也是相当令人沮丧的。显然这取决于情况,但我会用 php 或 javascript - onblur 或通过 ajax 发送,或任何时候将其删除:txtval = txtval.replace(/\n|\r/ig, ''); 嗯,禁用\n 与剥离\n 不同。对于我的情况,我需要保留 \n,我只是不想包装它。但我同意,可以进行问题描述。就我而言,我需要做一些关于溢出或包装的事情。 如果你过去了一些多行的文本,那么它也不会起作用。【参考方案2】:可以使用 wrap="soft,hard, 或 off
【讨论】:
不会阻止换行。以上是关于禁用 HTML 文本区域中的换行符的主要内容,如果未能解决你的问题,请参考以下文章