GET请求相同的页面 - jQuery表单

时间:2013-05-18 15:23:43

标签: jquery html

我正在构建一个小型搜索引擎,我正在使用像

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

val()函数返回空sting“”not null

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

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