2016-05-17 64 views
1

hy! 我有一個註冊表單。我想在完成驗證後使用ajax提交表單。我使用jquery插件進行驗證。但是,只要點擊任何字段,ajax請求就會自動發送到服務器,並在點擊提交按鈕之前返回響應。 此外,我收到「缺失值」消息。 我不知道,錯誤在哪裏。 幫幫我!表單驗證後服務器端腳本無法正常工作

Validation.js

$(document).ready(function() { 

    $('#signup_form').formValidation({ 

     // To use feedback icons, ensure that you use Bootstrap v3.1.0 or later 
     feedbackIcons: { 
      valid: 'glyphicon glyphicon-ok', 
      invalid: 'glyphicon glyphicon-remove', 
      validating: 'glyphicon glyphicon-refresh' 
     }, 
     fields: { 

      } 
     }) 
     .on('success.form.bv', function(e) { 
       $('#signup_form').data('formValidation').resetForm(); 

     }); 
}); 

form_signup.php

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('#signup_form').submit(function(e){ e.preventDefault(); }); 
$(function(){ 
     $("#signup_form").click(function(event){ 
      //event.preventDefault(); 

      $.ajax({ 
        url:'form_process.php', 
        type:'POST', 
        data:$(this).serialize(), 
        success:function(result){ 
         alert(result); 

        } 

      }); 
     }); 
    }); 
    }); 

form_process.php

<?php 
print_r($_POST); 
require_once './functions/functions.php'; 

if(isset($_POST['FirstName'])) 
{ 
    echo $firstName = $_POST['FirstName']; 
    } 
else{ echo ("missing value!");} 

回答

3

您分別致電內部形式的形式單擊ajax提交? ,你需要在表單上調用它而不是!

$(document).ready(function(){ 
    $('#signup_form').submit(function(e){ 
     e.preventDefault(); 
     $.ajax({ 
       url:'form_process.php', 
       type:'POST', 
       data: $('#signup_form').serialize(), 
       success:function(result){ 
        alert(result); 

       } 

      }); 
    }); 
}); 

試試這個方法...

希望它可以幫助

+0

對不起,反應遲緩。 我沒有聯繫。 您的解決方案部分工作! 現在發生了什麼,Ajax請求也隨表單驗證一起進行。 在驗證調用時提交,同時ajax請求也會發送並作出響應。我想在表單完全填充驗證後再發送這個ajax調用。 –

+0

它返回什麼? – Poria

+0

只要我點擊提交,就會立即返回空警報消息 –