Ajax调用onclick只发生一次

时间:2012-09-21 08:46:57

标签: jquery ajax forms onclick submit

我在我的页面中有一个我要提交的内容,并且我使用了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调用的错误答复。

有谁知道为什么会发生这种情况?

提前致谢

1 个答案:

答案 0 :(得分:0)

我认为当按钮点击时,它也会发布支持。在onclick后使用event.preventDefault()停止触发回发。尝试修改代码:

...
$("#password_change").click(function(e) {  
   e.preventDefault();
   $.ajax({
     ...
     ...
   });
});
...