1

自分のページに送信したい送信元があり、ajax 呼び出しを使用しています。

 $(document).ready(function() {
    $("#password_change").click(function() {                    
        $.ajax({
            type: 'POST',
            url: 'set_password.php',
            data: 'password=' + $('#password').val(),
            success: function(data) {
                var obj = JSON.parse(data);              
                if(obj.success == '1') {    
                    $('#message').show();                            
                }else{
                    $('#fail_message').show();                            
                }
            }
        });
    });
 });

そして私のフォーム:

<form id="password_form" name="password_form" action="" method="POST" style="">
    <input type="password"  class="required" id="password" value="" />
</form>

初めて送信ボタンをクリックすると、適切なメッセージが表示され、すべて正常に動作しているように見えます。次に、送信ボタンをもう一度クリックしますが、ajax 呼び出しで送信しているデータが空であるため、ajax 呼び出しに対して間違った応答が返されます。

なぜこれが起こるのか誰にも分かりますか?

前もって感謝します

4

1 に答える 1

0

ボタンをクリックすると、ポストバックもあると思います。onclick の後にevent.preventDefault()を使用してトリガー ポスト バックを停止します。コードを変更してみてください:

...
$("#password_change").click(function(e) {  
   e.preventDefault();
   $.ajax({
     ...
     ...
   });
});
...
于 2012-09-21T08:54:34.867 に答える