<input />通过CSS支持多行

时间:2009-08-24 21:48:13

标签: html css input textarea

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

5 个答案:

答案 0 :(得分:25)

不,抱歉。根据定义,<input type=text>是单行。请参阅W3C文档Forms in HTML Documents

text
    Creates a single-line text input control.

答案 1 :(得分:3)

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

请参阅its documentation

答案 2 :(得分:3)

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

答案 3 :(得分:3)

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

  

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

答案 4 :(得分:0)

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

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

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