как остановить функцию сохранения в jquery - PullRequest
0 голосов
/ 29 мая 2020

При нажатии кнопки «Сохранить» я хочу убедиться, что дата существует или нет.

Я попытался использовать return false, e.stopPropagation(), e.stopImmediatePropagation(), и ни один из них не остановил выполнение saveEvent. Как вы можете видеть в моем примере, кнопка сохранения всегда будет выполняться. Я хочу остановить эту остановку SaveEvent. Не могли бы вы помочь?

       $('#btnSave').click(function () {

                var StartDate = $('#txtStart').val();

                $.ajax({
                    type: "POST",
                    url: "/Home/Checkdate",
                    data: '{StartDate: "' + StartDate + '" }',

                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (response) {
                        var message = $("#message");
                        if (response) {
                            //Email available.
                            message.css("color", "green");
                            message.html(" date is not exist ");
                        }
                        else {
                            message.css("color", "red");
                            message.html("date existe ");
                            alert('date existe');

                            return;

                        }

                    }
                });


         var data = {

                    EventID: $('#hdEventID').val(),
                    EventTitle: $('#txtSubject').val().trim(),
                    StartDate: $('#txtStart').val().trim(),
                    EndDate: $('#chkIsFullDay').is(':checked') ? null : $('#txtEnd').val().trim(),
                    EventDescription: $('#txtDescription').val(),
                    ThemeColor: $('#ddThemeColor').val(),
                    IsFullDay: $('#chkIsFullDay').is(':checked')
                }

                    SaveEvent(data);



                // call function for submit data to the server
            })

Ответы [ 2 ]

0 голосов
/ 30 мая 2020

Вызов SaveEvent должен быть внутри блока if (response) { внутри вашего "успешного" обратного вызова, судя по всему.

Похоже, это место, где вы проверяете статус даты, так что это также должно быть место, где вы запускаете команду «Сохранить».

0 голосов
/ 30 мая 2020

Добавьте preventDefault, как это, чтобы предотвратить поведение элементов по умолчанию.

Измените ваши 2 строки выше, чтобы это было так.

$(document).on('click','#btnSave',function (e) {
    e.preventDefault();
...