繁体   English   中英

<input>通过CSS支持多行

[英]<input> multi-line capable via CSS

如果文本比使用CSS的字段长,有没有办法在HTML中使用<input /> -field来换行? 我不想使用<textarea />因为我想通过按Enter来避免用户输入强硬换行符。

不,对不起 根据定义, <input type=text>是单行。 请参阅HTML文档中的W3C文档表单

text
    Creates a single-line text input control.

使用Dojo的Dijit TextArea表单控件,基于TextArea,您可以有一个输入字段,该字段以单行开头,并在用户添加时扩展。

查看其文档

单独使用CSS无法实现所需,但您可以使用JavaScript来防止用户在<textarea>字段中输入换行符。

看看这个, http://www.echoecho.com/htmlforms08.htm

换行选项是文本区域中最棘手的部分。 如果您将换行翻转,则文本将作为一个长序列文本处理,而不会出现换行符。 如果您将其设置为虚拟文本,则文本会显示在页面上,就像它识别出换行符一样 - 但是在提交表单时,会关闭换行符。 如果将其设置为物理,则文本的提交方式与屏幕上显示的完全相同 - 包括换行符。

您最好的选择是使用textarea(如果您愿意,可以使用自动增长功能),然后在提交表单时删除新行。 使用PHP它将是这样的:

$text = str_replace(array("\n","\r"),'',$_POST['text_field']);

这将具有阻止换行符所需的效果。 正如其他人指出的那样,在输入字段中输入多行输入是不可能的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM