2013-11-01 79 views
0

我有一個表單和ajax call.data被填充到表單中,並且同時用戶在我的數據庫中使用ajax調用來創建遠程。但問題出在驗證,其中驗證應該在這裏適用 例如我應用任何jquery驗證我需要測試如果表單是有效的,然後我可以調用ajax如果表單有效其他明智的數據庫將填充空白數據 我試着用bvalidator但我不知道如何檢測的形式是有效的,或者使用任何的jQuery驗證庫無效只有在jQuery驗證有效的情況下才會調用Ajax

<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> 
+1

您的問題似乎存在拼寫錯誤。你真的想將'email'中的值存儲在一個名爲'age'的變量中,而不再使用它? –

+0

難道你不可能寫你自己的驗證,更適合你的應用程序嗎? –

+0

你錯了我寫它它不是原來的版本,但我需要的是有效的形式前ajax調用,如果有效去ajax過程 – Vishal

回答

-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

+0

謝謝anudeep我會盡力告訴你,我希望它能奏效。 – Vishal

+0

你好jQuery的驗證使用輸入類型提交,但當我使用它後驗證成功的表單提交和我的ajax調用不運行,所以應該這樣做,因爲以前我使用輸入類型按鈕和提交表單後,ajax調用。 – Vishal

相關問題