Как остановить JavaScript от нескольких оповещений? - PullRequest
0 голосов
/ 29 марта 2012
    $('#ms_cats_meta_eduyear, #ms_cats_meta_semester, #ms_cats_meta_subject').change(function () {



                $('#publish').removeClass('button-primary-disabled');
                $('#save-post').removeClass('button-disabled');

                $('input#publish').click( function () {
                    var eduyear_val = $("#ms_cats_meta_eduyear").val();
                    var semester_val = $('#ms_cats_meta_semester').val();
                    var subject_val = $("#ms_cats_meta_subject").val();

                    if (eduyear_val == -1 || semester_val == -1 || subject_val == -1){
                        var msg= "من فضلك تأكد من ادخال جميع حقول اختيار التصنيف.";
                        $('#ajax-loading').hide();
                        alert(msg);
                        return false;

                    }else{
                        $('#publish').removeClass('button-primary-disabled');
                        $('#save-post').removeClass('button-disabled');

                        return true;
                    }

                });

});

Я использую функцию для выдачи предупреждения, если пользователь пытается отправить форму со значением трех полей выбора -1.Оповещение появляется несколько раз при внесении изменений в значение поля выбора, есть идеи, что не так?

1 Ответ

5 голосов
/ 29 марта 2012

Вы создаете событие щелчка внутри события изменения, то есть каждый раз, когда событие изменения инициируется, создается новое событие нажатия (в дополнение к уже созданным ранее).

Просто переместите событие щелчка за пределы события изменения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...