如果文本比使用CSS的字段长,有没有办法在HTML中获取<input />
字段来换行?我不想使用<textarea />
,因为我想通过按Enter来避免用户输入强硬换行符。
答案 0 :(得分:25)
不,抱歉。根据定义,<input type=text>
是单行。请参阅W3C文档Forms in HTML Documents:
text
Creates a single-line text input control.
答案 1 :(得分:3)
使用Dojo的Dijit TextArea表单控件,基于TextArea,您可以有一个输入字段,该字段以单行开头,并在用户添加时扩展。
答案 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']);
这会阻止换行符所需的效果。正如其他人指出的那样,在输入字段中输入多行输入是不可能的。