Мне нужно определить, покинул ли пользователь страницу или если он отправил форму, я попробовал что-то вроде этого:
window.onbeforeunload = function(e) {
if ($('form').submit() == true) {
console.log('form submitted!');
} else{
console.log('good bye!');
};
};
Мне нужно это, потому что, если он покинет текущую страницу, я запустим php-код, чтобы удалить некоторую информацию, но если он представит форму, php сохранит информацию в другом месте.
Благодарю!
Я не думаю, что вы можете сделать это так. Вы можете использовать имя класса или какой-либо другой атрибут в форме для отметки представления, либо js, если вы отправляете с помощью ajax или 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
};
};
В случае нормального представления условие будет связано с данными $ _POST или $ _GET и тем, как вы создаете html в вашем php файле, с той же логикой.