2016-07-17 14 views
0

私は入力の説明にテキストボックスを使用しています。複数行にする方法はありますか?複数行のテキストボックス(テキストエリアなし)

これがCSSで実行できる場合は、これが最適です!

検索フォームに表示され、「Enter」を押すと次の行に移動するため、テキストエリアを使用したくありません。あなたがそれを止めることができれば、それは受け入れられるだろう。

+0

は、使用している入力テキストを共有しています。 – Manjuboyz

+1

"textbox"とは、 ''を意味しますか?そうであれば、答えはいいえです。テキスト入力を複数行にすることはできません。それはあなたのために ' のような行サイズを指定することで、textarea itselftを使用することができます。 – Manjuboyz

答えて

1

入力要素に複数行のテキストを付けることはできませんが、入力要素に非常に近いテキストボックスを作成することができます。

入力キーがテキストエリア内で押されたときに、Enterキーのデフォルトの操作を禁止するだけで済みます。

//When key is pressed inside elements with no-enter class 
 
$(".no-enter").keypress(function(e) { 
 
    //If the key pressed is the 'enter' key, prevent the default action (next line). 
 
    if(e.keyCode === 13) e.preventDefault(); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<textarea class="no-enter" placeholder="A whole lot of useless text that goes to the next line."></textarea>

あなたはそれがあなたのCSSでこれを使用して入力要素のように多くを見えるようにテキスト領域のリサイズプロパティを削除したい場合。

.no-enter { 
    resize: none; 
} 

//When key is pressed inside elements with no-enter class 
 
$(".no-enter").keypress(function(e) { 
 
    //If the key pressed is the 'enter' key, prevent the default action (next line). 
 
    if(e.keyCode === 13) e.preventDefault(); 
 
})
.no-enter { 
 
    resize: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<textarea class="no-enter" placeholder="A whole lot of useless text that goes to the next line."></textarea>

0

私は、テキストエリア自体を使用することをお勧めします。その行を使用してください

<textarea name="Text1" cols="50" rows="3"></textarea> 

この方法では、3行しか表示されません。または '1'にすることができます。

キー入力を無効にするに:

<asp:TextBox ID="TextBox1" runat="server" onkeydown = "return (event.keyCode!=13);" > 
</asp:TextBox> 

あなたが背後にあるコードでそれを使用する場合:

TextBox1.Attributes.Add("onkeydown", "return (event.keyCode!=13);"); 
+1

これは表示行の数を設定しますが、ユーザーがEnterキーを押して新しい行を追加することを妨げません。 –

+1

意味を理解し、コードを更新しました。ありがとうございます。 – Manjuboyz

関連する問題