Javascript 如何使用查询检查表单是否已在onbeforeunload上提交

Javascript 如何使用查询检查表单是否已在onbeforeunload上提交,javascript,php,jquery,Javascript,Php,Jquery,我需要检测用户是否离开了页面或是否提交了表单,我尝试了以下方法: window.onbeforeunload = function(e) { if ($('form').submit() == true) { console.log('form submitted!'); } else{ console.log('good bye!'); }; }; 我需要这个,因为如果他离开当前页面,我将运行php代码删除一些信息,但如果他提交表单,php将在另一个地方存储信息 谢谢 我认为

我需要检测用户是否离开了页面或是否提交了表单,我尝试了以下方法:

window.onbeforeunload = function(e) {
if ($('form').submit() == true) {
    console.log('form submitted!');
} else{
    console.log('good bye!');
};
};
我需要这个,因为如果他离开当前页面,我将运行php代码删除一些信息,但如果他提交表单,php将在另一个地方存储信息


谢谢

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

例如:

  $('#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 
 };
 };

在正常提交的情况下,条件必须与$\u POST或$\u GET数据以及您在php文件中构建html的方式有关,逻辑相同。

如果用户已离开页面,您无论如何都不能在该页面上运行任何JavaScript。即使如此,也不能在同一页面中使用JS触发PHP代码。我认为你需要做的是修改任何PHP页面收到你提交的表格。工程完美为我,非常感谢!!!当我获得至少15分的声誉时,我会投票支持你的答案。太好了,很高兴它有帮助: