2013-03-19 112 views
1

我有一个提交给函数的简单表单。这个问题是随机的,它会失败并锁定。在萤火虫找收盘后它不断从功能改变我的网址/ changePassword.php到功能/ index.php的

当前功能

function submitchangePasswordForm() { 
    showLoading(); 
    var formData = new FormData($('#changePasswordForm')[0]); 
    $.ajax({ 
     url : 'functions/changePassword.php', 
     type : 'POST', 
     data : formData, 
     cache : false, 
     contentType : false, 
     processData : false 
    }).done(function (data) { 
     if (data == '1') { 
      popup_alert('Your password has been updated successfully.', 'Update Successful', 'Ok'); 
      $("html, body").animate({ 
       scrollTop : 0 
      }); 
      $('#changePasswordForm').each(function() { 
       this.reset(); 
      }); 
     } else { 
      popup_alert('An error occured preventing us from changing your password. <br> Error: <br>' + data, 'Update Failed', 'Ok'); 
      $('#old_pass').val(''); 
      $('#changePasswordForm').submit(); 
     } 
     hideLoading(); 
    }); 
} 

之前有人问对错误的重新送审,因为我使用jQuery验证使用以显示该字段再次为空。

这是一个错误还是我做错了什么导致错误?

+0

你为什么要重新提交'$('#changePasswordForm')。submit()'? – 2013-03-19 16:47:27

+0

有提交预防系统。正如我上面所说的,所有这些都是突出显示框,并根据jQuery验证插件对此字段进行评论。如果删除,我仍然会得到同样的错误。 – 2013-03-19 16:51:43

回答

1

我刚刚有一个类似的问题,虽然它没有返回到索引,但可以是.htaccess设置。

解决方案是写我的网址为url : '/directory/page.php' 希望它也适用于您。

+0

从来没有想到这一点。原来,我们的一位编程人员为其他系统的任何名为changePassword.php的文件重定向。在对其设置目录限制之后,所有操作都完美无缺。 – 2013-03-19 18:17:31

0

您能否显示<form onsubmit ..方法?当它失败时,您打电话给$('#changePasswordForm').submit(),但不清楚action属性是什么。

如果您的<form>没有action='somewhere'字段,它会将其提交到同一页面。我猜可能是这样。

+0

如果您阅读上述说明“在任何人使用错误重新提交之前,因为我正在使用jQuery验证来显示该字段再次为空白。”该表单不会提交,因为old_pass字段是必需的,并且阻止提交表单。也只是提交。 – 2013-03-19 16:21:54