0

フォームがあり、ajax call.data がフォームに入力され、ajax call を使用してデータベースにユーザーが作成されると同時にリモートに移動しますが、問題は検証にあります。フォームが有効かどうかをテストする必要があり、フォームが有効である場合は ajax を呼び出すことができます。そうしないと、データベースに空白のデータが入力されます。bvalidator で試しましたが、フォームが有効か無効かを検出する方法がわかりません任意の jquery バリデータ ライブラリ

<form id="inform" action="http://site.com">
<input type="text" id="name" />
<input type="text" id="email" />
<input type="button" name="subaction" id="infuse" />
</form>

    <script language ="javascript" type = "text/javascript" >
    $na= jQuery.noConflict();
    $na(document).ready(function(){ 
            $na('#infuse').click(function(){


                         var name= $na('#name').val();

                         var email = $na('#email').val();


                 $na.ajax({
                             type: "POST",
                             url: '<?php bloginfo('template_url')?>/user_create.php',
                             data: 'name='+name+'&email='+email,
                             cache: false,


                             success: function(result){
                                                     jQuery('.err_msg').html(result);
                                                      jQuery("#inform").submit();  
                                               }
                                          });


                    }); 
     });

    </script> 
4

1 に答える 1

-1

あなたはこのようなことをすることができます

<script language ="javascript" type = "text/javascript" >
$na= jQuery.noConflict();
var name;
var email;
var options10 = {

    // shows or hides error all messages container after validation completes
    onAfterAllValidations: function(elements, formIsValid){

        // if validation failed
        if(!formIsValid)
            callAjax();
        else{
            //do something
        }
    }
};


function callAjax(){
  $na.ajax({
                           type: "POST",
                           url: '<?php bloginfo('template_url')?>/user_create.php',
                           data: 'name='+name+'&email='+email,
                           cache: false,
                           success: function(result){
                                                 jQuery('.err_msg').html(result);
                                                  jQuery("#inform").submit();  
                                           }
                                 });
}
$na(document).ready(function(){ 
        $('#inform').bValidator(options10);

        $na('#infuse').click(function(){


                     name= $na('#name').val();
                     email = $na('#email').val();

         }); 
});

</script> 

私はこれをチェックしていませんが、うまくいけば、これはうまくいきます。重要な点は、コールバック : onAfterAllValidationsを使用できることです。

于 2013-11-01T10:55:58.400 に答える