如果字段为空,则阻止表单执行


prevent form from executing if field is blank

如果搜索字段为空,我试图阻止表单执行。

html

<form id="form" action="">
<input type="text" id="lookup"><input type="submit" id="find" value="Look Up">
</form>

jquery

$('#find').click(function(){
var s = ('#lookup').attr('value');
if(s!=""){
$.ajax({
url: result/,
type:'POST',
data: s
success: function(){ //empty }
});
}
});

也尝试过

action="result" //form the form
$('#find').click(function(){
var s = ('#lookup').attr('value');
if(s!=""){
$("#form").submit();
}
});

绑定submit事件,当搜索字段为空时返回false,如果不为空则返回true。返回false将阻止提交表单。

$("form").submit(function() {
    var s = $.trim($('#lookup').val());
    if (s) {
        $.ajax();
        return true;
    }
    return false;
});

演示

你可以简单地添加这个

$('#find').click(function(){ 
var s = ('#lookup').attr('value'); 
if(s==""){ 
return false; 
} 
});
     $('#find').click(function(e){
    var s = ('#lookup').attr('value');
    if(s!=""){
    $.ajax({
    url: result/,
    type:'POST',
    data: s
    success: function(){ //empty }
    });
    } 
      e.preventDefault();
    });

e.preventDefault()将阻止提交按钮实际提交表单。或者您可以使用return false。

但假设在你的情况下,做这样的事情就足够了:

    $('#find').click(function(e){
var s = ('#lookup').attr('value');
if(s==""){
    e.preventDefault();
}
});

尝试

$('#find').click(function(){
    var s = ('#lookup').val();
    if(s!="" && s != undefined && s!=null){
       //do your business here
    }
});