如果在onbeforeunload上提交了表单,如何查询查询

时间:2014-05-13 14:36:42

标签: javascript php jquery

我需要检测用户是否已离开页面,或者如果他提交表单,我尝试过这样的事情:

window.onbeforeunload = function(e) {
if ($('form').submit() == true) {
    console.log('form submitted!');
} else{
    console.log('good bye!');
};
};

我需要这个,因为如果他离开当前页面,我将运行一个PHP代码来删除一些信息,但如果他提交表单,php会将信息存储在另一个地方。

谢谢!

1 个答案:

答案 0 :(得分:0)

我不认为你可以这样做。您可能希望使用表单中的类名或其他属性来标记提交,如果您使用ajax或php提交,则通过js标记提交,检查发布/获取数据。

例如:

  $('#submit').on('click', function(e){
     //post ajax
     ,success: function(data){ 
     //do other stuff
     $('$myform').addClass('submited');
     }
  });

然后,

 window.onbeforeunload = function(e) {
 if ($('#myform').hasClass('submited') {
   //do submitted stuff
 } else{
  // dont 
 };
 };

在正常提交的情况下,条件将与$ _POST或$ _GET数据以及在php文件中构建html的方式相同,具有相同的逻辑。