没有textarea的多行文本框

时间:2016-07-17 11:15:34

标签: html css

我使用文本框进行输入描述,编辑时间很长。有没有办法让它成为多行?

如果这可以在css中完成,那将是最好的!

我不想使用textarea,因为当它出现在搜索表单上时,人们会推送"输入"它进入下一行。如果你能阻止它那么这是可以接受的。

2 个答案:

答案 0 :(得分:1)

您无法使输入元素具有多行文本,但您可以使文本框与输入元素非常接近,只需要您想要的几个差异。

当您在textarea中按下回车键时,您需要做的就是阻止输入键的默认操作。



//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>
&#13;
&#13;
&#13;

如果您想删除文本区域的resizing属性,使其看起来更像是一个输入元素,请在CSS中使用它。

.no-enter {
    resize: none;
}

&#13;
&#13;
//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();
})
&#13;
.no-enter {
  resize: none;
}
&#13;
<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>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我建议使用textarea本身。使用那个

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

这样你只有3行。或者你可以把它变成&#39; 1&#39;。

要禁用回车键:

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

如果你想在后面的代码中使用它:

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