0

我正在构建一个小型搜索引擎,我正在使用类似的表单

form action="" method="get" id="searchForm">
<input type="search" name="search" id="searchQuery" value="<?php echo $_GET['search']; ?>" />
</form> 

我将搜索查询传递到同一页面。如果文本框值为空,我想阻止提交表单。所以,我为这个表单添加了一个事件处理程序

$('#searchForm').submit(function() {
alert('Handler for .submit() called.');
if($('#searchQuery').val()==null)
{
return false;
}
}); 

但它似乎不起作用,当我尝试使用表单操作 =“#”时它工作正常。有人可以提出解决方法吗?

4

2 回答 2

1

不要检查 null,而是修剪值并检查空字符串。

$('#searchForm').submit(function(event) {
 if($('#searchQuery').val().trim()=="")
 {
  return false;
 }
}); 

注意:如果输入文本框中只有空格,则使用 trim() 可确保不会提交表单。

于 2013-05-18T15:30:21.607 回答
0

val() 函数返回空字符串“”不为空

$('#searchForm').submit(function(event) {
    alert('Handler for .submit() called.');
    if($('#searchQuery').val()=="") {
       // Make form submit invalid
       return false;
    }
}); 

小提琴http://jsfiddle.net/utku/5fmXY/

于 2013-05-18T15:26:42.020 回答