2014-01-20 109 views
0

在提交按钮点击,我打电话给一个API。如果它返回true,我想显示错误消息并停止提交表单。 但是,如果它返回false,我想提交表单。提交/停止提交表单在Ajax成功调用

jQuery代码:

$(document).ready(function() { 
    $('#submit').click(function() { 
     if ($('#EMail').val().length != 0) { 

      var email = $('#EMail').val(); 
      var url = "url"; 
      $.ajax({ 
       type: "GET", 
       url: url, 
       dataType: "xml", 
       success: function (responsedata) { 
        var result = $(responsedata).find("Exists").text(); 
        console.log(result); 
        if (result == 'false') { 
         $('#frmsignup').submit(); 

        } else { 
         //show error. 
         return false; 
        } 
       }, 
       complete: function() { 

       }, 
       error: function() { 

       } 
      }); 

     } else { 
      $('#frmsignup').submit(); 
     } 
    }); 
}); 

但问题是与上面的代码甚至if (result == 'true'),表单被提交和错误显示不出来。 我在做什么错?

+0

重新检查该值形式的.submit() '$( '#EMail').val().length'和'alert(result);' –

回答

0

我认为,你的问题是你检查结果=='假',在这种情况下'假'是一个字符串,但不是布尔。

if (!result) { 
    $('#frmsignup').submit(); 
} else { 
    //show error 
    return false; 
} 
1

第一u必须停止的点击提交事件提交按钮

$('#submit').click(function (e) { 
    e.preventDefault(); 

则U可以调用每当ü要

+0

现在表单永远不会被提交。我的意思是,如果结果=真,我看到错误信息。但如果结果= false,表单不会提交 – kandroid