在ajax成功通话中提交/停止提交表格

时间:2014-01-20 11:17:14

标签: jquery

在提交按钮上单击,我正在调用API。如果它返回true,我想显示错误消息并停止提交表单。 但如果它返回false,我想提交表单。

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'),表单被提交并且错误没有显示出来。 我究竟做错了什么?

2 个答案:

答案 0 :(得分:1)

首先,你必须点击提交按钮

停止提交事件
$('#submit').click(function (e) {
  e.preventDefault();

你可以随时调用.submit()形式

答案 1 :(得分:0)

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

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