簡體   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