Запустите окно onbeforeunload, если форма не отправлена

0

Я должен запустить onbeforeunload, когда форма заполнена наполовину, и посетитель попытается покинуть страницу, но не тогда, когда он отправит форму. вот мой код.

tomato = 0; // by default

$('#my_form').submit(function(){
    tomato = 1; // should change when submitted, but its not happening
});

window.onbeforeunload = function(e) {
    if(tomato==0){
        if ($('#business_name').val()) {
            return "Are you sure want abort your listing '"+$('#business_name').val()+"'??";  // Put your custom message here 
        }
    } else {
        return false;
    }
};

Надеюсь, вы, ребята, поняли мою проблему, пожалуйста, помогите. заранее спасибо.

  • 0
    Как вы подтверждаете, что форма заполнена не полностью? И не должно ли это быть просто return true; вместо return false; ?
  • 0
    в форме все поля обязательны для заполнения, поэтому сам браузер проверяет форму. и эта функция работает нормально в случае, если посетитель попытается покинуть страницу без отправки формы, и первое поле формы заполнено
Показать ещё 7 комментариев
Теги:
forms
onbeforeunload

1 ответ

0

.submit() запускает событие отправки, как и в, он отправляет форму при ее вызове. вы хотите onSubmit событий onSubmit.

$(document).ready(function() {
tomato=0; 
$('#my_form').on('submit',function(){
    tomato = 1; 
});
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню