2011-07-11 13 views
2

これは私が持っているコードです。私は、PHP側から受け取ったメッセージが0(エラーが発生した)の場合、フォームが送信されないようにしたい。受信したメッセージが1の場合は、フォームを送信します。 register();フォームをJquery/Ajaxを使用して送信を停止する方法

$(document).ready(function(){ 
    $('#form').submit(function(e){ 
     register(); 


    }); 

}); 


    function register(){ 

     $.ajax({ 
      type:"POST", 
      url:"submit.php", 
      data: $('#form').serialize(), 
      dataType: "json", 
      success: function(msg){ 

       if(parseInt(msg)==1){ 
        window.location=msg; 
       } 
       else if(parseInt(msg)==0){ 
        $('#error_out').html(msg); 
       } 


      } 

     }); 
    } 

答えて

1
$('#form').submit(function(e){ 
      e.preventDefault(); 

      //do whatever you want 

}); 
5

register();return false;

+0

は、私は唯一の私はMSG =「1」を受信したときに提出することを防止したい – user461316

+0

次に、あなたは、Ajaxの同期を行う必要があります。 ajaxパラメータに 'async:false'を追加し、' return false; 'を' window.location = msg'の下で成功関数に移動します。 – Rodaine

+0

+1。私が今までに見た中で最も速い答えです。この質問に答えるのにわずか38秒です。 – Aravindhan

0

を含めることがregister(e);register();の名前を変更し、その後e.preventDefault(); e.stopPropagation();はそれが動作を期待含まれ、その後に動作しない場合return false;が含まれます。

0

私は理解しているように、試してみてくださいこれを使用する:

if(parseInt(msg)==0){ $('#submit').attr('disabled','true'); }

関連する問題