代码之家  ›  专栏  ›  技术社区  ›  Bob

<input>通过CSS支持多行

  •  16
  • Bob  · 技术社区  · 15 年前

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

    5 回复  |  直到 13 年前
        1
  •  25
  •   RichieHindle    15 年前

    不,对不起。 <input type=text> 定义为单行。参见W3C文档 Forms in HTML Documents :

    text
        Creates a single-line text input control.
    
        2
  •  3
  •   aehlke    15 年前

    使用Dojo的Dijit文本区域窗体控件(基于文本区域),您可以拥有一个输入字段,该字段以一行开头,并随着用户的添加而扩展。

    its documentation .

        3
  •  3
  •   Josh Leitzel    15 年前

    你不能单独使用CSS来做你想做的,但是你可以使用javascript来防止用户在 <textarea> 字段。

        4
  •  3
  •   pep180    13 年前

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

    换行选项是文本区域中最复杂的部分。 如果关闭“换行”,则文本将作为一个长的文本序列处理,不带换行符。 如果将其设置为虚拟,则文本将显示在页面上,如同它识别了换行符一样-但提交表单时,换行符将关闭。 如果将其设置为“物理”,则文本将完全按照屏幕上显示的方式提交-包括换行符。

        5
  •  0
  •   Simon    15 年前

    你最好的选择是使用一个文本区域(如果你愿意,可以使用自动增长功能),然后在提交表单时去掉新行。使用php,应该是这样的:

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

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