0

これは、ajax リクエストで送信する前にフォーム検証関数を呼び出す簡単なコードです。

$(document).ready(function(){
    $('#errors').hide();       
    var serializedData= $("#categoryForm").serialize();
    $("#categoryForm").submit(function(){
                $.ajax({
                type:'POST', 
                url: 'actions/add-category.php', 
                data: serializedData, 
                beforeSubmit:  function(){
                        return $("#categoryForm").validate();
                    },
                success: function(response) {
                     $('#status').html(response);
                    }
                });
        return false;
       });


});

検証に合格し、フォームを検証する前にajaxリクエストを送信します検証がtrueの場合、リクエストを作成しようとしました

$(document).ready(function(){
    $('#errors').hide();       
    var serializedData= $("#categoryForm").serialize();
    $("#categoryForm").submit(function(){
        if($("#categoryForm").validate()){
                $.ajax({
                type:'POST', 
                url: 'actions/add-category.php', 
                data: serializedData, 
                success: function(response) {
                     $('#status').html(response);
                    }
                });
        }
        return false;
       });


});

しかし、これも機能しません

4

1 に答える 1

0

どのような場合でもフォームを送信しないでください。送信ボタンがクリックされたときにチェックを行い、成功した場合は送信を行います。次のようにしてみてください。

$("#submitButton").click(function(){
          if($("#categoryForm").validate()){
                  $.ajax({
                  type:'POST',
                   url: 'actions/add-category.php',
                   data: serializedData,
                   success: function(response) {
                       $('#status').html(response);
                       //if true: 
                       $("#categoryForm").submit();
                          }
                      });


                  }
             return false;
     }); 
于 2012-09-11T11:08:59.193 に答える