Можно, возможно, установить переменную или атрибут data-*
, когда поле формы сфокусировано:
$('#formID input').focus(
function(){
$(this).closest('form').attr('data-inprogress','true');
/* or:
var formInProgress = true;
*/
});
$('form').submit(
function(){
$(this).attr('data-inprogress','false');
/* or:
formInProgress = false;
*/
});
А затем, нажав на элемент, который вызовет изменение страницы илиудаление самого form
, проверка атрибута или переменной и, если она существует, подтверждение пользователя, что они хотят отказаться от формы:
$('.pageChangeElements').click(
function(){
if ($('#formID').attr('data-inprogress') == 'true'){
var c = confirm("Do you really want to discard the form?");
if (c) {
// continue
}
else {
return false;
}
}
});
JS Fiddle демонстрация концепции