按下enter键时,在空文本框中不执行任何操作

时间:2011-11-23 23:14:29

标签: jquery

我有一个表单,其中有一个文本框和一个按钮。当文本框为空,并且用户单击按钮或按下回车键时,它应该什么都不做。它也不应该显示任何错误。最好的方法是什么?我不想完全禁用回车键。

<form id="search-form" name="search-form" method="get" action="search.php">

                    <input type="text" id="search" name="search"/>
                    <input type="submit"name="search-submit" value="Search" />
</form>

3 个答案:

答案 0 :(得分:10)

试试这个,使用jQuery的.submit()来捕获提交表单的时间(单击按钮或按Enter键将使用.submit()函数捕获),然后测试搜索输入为空(空字符串将返回false)并使用.preventDefault()函数停止提交表单。

$('#search-form').submit(function(e) {
   if (!$('#search').val()) {
       e.preventDefault();
   }       
});

Demo Here

答案 1 :(得分:6)

<input type="text" name="mytext" onkeypress="return event.keyCode!=13">

答案 2 :(得分:3)

尝试:

$("#search").keydown(function(e) {
  if($(this).val() == "" && e.keyCode == 13) {
    e.preventDefault();
  }
})