我需要检测用户是否已离开页面,或者如果他提交表单,我尝试过这样的事情:
window.onbeforeunload = function(e) {
if ($('form').submit() == true) {
console.log('form submitted!');
} else{
console.log('good bye!');
};
};
我需要这个,因为如果他离开当前页面,我将运行一个PHP代码来删除一些信息,但如果他提交表单,php会将信息存储在另一个地方。
谢谢!
答案 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的方式相同,具有相同的逻辑。