2016-05-17 9 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

最初にサブミットをクリックするとすぐに空の警告メッセージが返されます –

関連する問題