Делать постбэк при нажатии кнопки диалога jQuery - PullRequest
0 голосов
/ 19 ноября 2011

У меня есть элемент управления asp.net на странице.

<asp:Button ID="btnFinishReceiving" runat="server" Text="Finished Receiving" Width="168px"
                                    OnClick="btnFinishReceiving_Click" />

по щелчку я открываю диалоговое окно.

$("#<%= btnFinishReceiving.ClientID %>").click(function() {
            $("[id*='ConfirmDialog']").dialog('open');

        });

$(document).ready(function() {
   $("[id*='ConfirmDialog']").dialog({
            autoOpen: false,
            width: 600,
            buttons: {
                "Yes": function() {
                    return true;
                },
                "No": function() {
                    return ValidateClientInfo();
                }
            }
        });
    });

Проблема: как только я нажимаю на кнопку, появляется диалоговое окно, и страница получает обратную передачу. Я хочу отправить страницу обратно, когда пользователь нажмет кнопку в диалоговом окне.

Ответы [ 4 ]

2 голосов
/ 19 ноября 2011

Функция onSubmit вашей формы возвращает false.

ОБНОВЛЕНИЕ: чтобы быть уверенным, event.preventDefault (); также прекратит любое поведение по умолчанию, такое как отправка формы.

0 голосов
/ 20 ноября 2011

Наценка:

<asp:Button ID="btnFinishReceiving" runat="server" Text="Finished Receiving" Width="168px"
OnClick="btnFinishReceiving_Click" OnClientClick="return openDialog();" />

JS:

function openDialog() {
   $("[id*='ConfirmDialog']").dialog('open');
   return false;
}
0 голосов
/ 20 ноября 2011

@ Мэтт прав, вам нужно изменить функцию js, прикрепленную к кнопке asp.net.

$("#<%= btnFinishReceiving.ClientID %>").click(function(evt) {
    $("[id*='ConfirmDialog']").dialog('open');
    evt.preventDefault();
});

Это должно предотвратить немедленную обратную передачу, в любом случае, я думаю, что этот подход не оправдает ваши ожидания: «верни истину»;внутри функции «Да» кнопка не вызовет исходную функцию обратной передачи, предоставленную asp.Button.

Посмотрите этот ответ для лучшего объяснения (игнорируя тот факт, что он используетсяв ретрансляторе такой же подход может быть использован в вашем случае).

0 голосов
/ 19 ноября 2011

Функция onClick в кнопке asp: вызывается одновременно с JavaScript onClick.

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