Проверка JQuery и AJAX вызова одновременно - PullRequest
1 голос
/ 16 декабря 2010
    $("#submit-button").click(function() {

        if($.trim($("#email").val()) === "" ) {
            $(".error-message-email").show();
        }
        if($.trim($("#password").val()) === ""){
            $(".error-message-password").show();
        }
        return false;
    });
    $("#submit-button").click(function() {

    $.ajax({
    type:'POST',
    url:" " ,
    data:{"email": email, "password": password},
    success:function(data) {

        if(data["success"] === "True") {
                   // do something.
                 } else {

            if(data["message"] === "Email already exists.") {
                $(".error-message-email-exist").show();
            }       

                 }
    },
    dataType:"json"
    });

    return false;
  });

});

У меня проблема. Если произошла ошибка, то как остановить вызов ajax в огонь. Поскольку здесь все еще моя форма не прошла проверку, ajax call запущен. Я хочу остановить это.

Ответы [ 3 ]

1 голос
/ 16 декабря 2010

не разделяйте событие клика.

$("#submit-button").click(function() {
    var error = false;
    if($.trim($("#email").val()) === "" ) {
        $(".error-message-email").show();
        error = true;
    }
    if($.trim($("#password").val()) === ""){
        $(".error-message-password").show();
        error = true;
    }

    if(!error) {

          $.ajax({
              type:'POST',
              url:" " ,
              data:{"email": email, "password": password},
              success:function(data) {

                  if(data["success"] === "True") {
                         // do something.
                  } else {

                  if(data["message"] === "Email already exists.") {
                      $(".error-message-email-exist").show();
                  }       

                  }
              },
              dataType:"json"
         });

    }
    return false;
});
1 голос
/ 16 декабря 2010

Как это:

 $("#submit-button").click(function() {
        var error = false;
        if($.trim($("#email").val()) === "" ) {
            $(".error-message-email").show();
            error = true;
        }
        if($.trim($("#password").val()) === ""){
            $(".error-message-password").show();
            error = true;
        }
        if (!error) {
            $.ajax({
                type:'POST',
                url:" " ,
                data:{"email": email, "password": password},
                success:function(data) {

                    if(data["success"] === "True") {
                   // do something.
                    } else {

                    if(data["message"] === "Email already exists.") {
                        $(".error-message-email-exist").show();
                    }       

                 }
            },
            dataType:"json"
            });
        }
        return false;
    });
0 голосов
/ 16 декабря 2010

Поскольку вы дважды связали click и записали вызов ajax во второй, он запускается независимо от первого. Он полностью независим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...