如何从多个警报中停止javascript?

时间:2012-03-29 12:48:17

标签: javascript jquery alert

    $('#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 个答案:

答案 0 :(得分:5)

您在更改事件中创建了一个click事件,也就是说,每次触发更改事件时,都会创建一个新的click事件(除了之前已创建的事件)。

只需将click事件移到更改事件之外。