JQuery модальная форма - PullRequest
       10

JQuery модальная форма

1 голос
/ 02 октября 2009

У меня проблема с модальной формой. У меня есть текстовая ссылка, которая открывает модальную форму (работает). Как только форма откроется, она показывает страницу регистрации (рабочая). Кнопки, используемые для отправки формы, проходят через модальную форму. Например:

$("#register-dialog").dialog({
bgiframe: true,
autoOpen: false,
height: 450,
width: 400,
modal: true,
buttons: {
    Cancel: function() {
        $(this).dialog('close');
    },
    'Create an account': function() {
            //ajax request here
    }
    }});

Кнопки появляются. Тем не менее, я обнаружил проблему с ними. Если я нажимаю на ссылку, которая открывает модальную форму, а затем нажимаю на кнопку отмены, она работает нормально. Я также могу нажать на крестик в верхней части, и он отлично работает. Но если я нажимаю кнопку «Создать учетную запись» (которая выполняет запрос ajax), а затем нажимаю кнопку «Отмена», она больше не работает. Странная вещь в этом состоит в том, что, если я нажимаю x сверху, он закрывает его. Но есть что-то еще более странное, теперь ссылка на открытие модальной формы не работает, пока я не перезагрузлю страницу. Сумасшедшая часть всего этого - то, что запрос ajax продолжит работать. Кажется, что запрос ajax вызывает проблемы здесь. Все, что я делаю с запросом, - это обновление базы данных с указанными учетными данными и обновление формы, чтобы показать, что они зарегистрированы. Есть идеи, почему это может происходить?

Ответы [ 2 ]

2 голосов
/ 02 октября 2009

Я бы попробовал разделить диалог и коды инициализации кнопок.

Итак, я бы сделал следующее:

$("#register-dialog").dialog({
bgiframe: true,
autoOpen: false,
height: 450,
width: 400,
modal: true
});

HTML-код формы:

<div id="register-dialog">
...
<div id="acceptButton"><a href="#">...</a></div>
</div>

И, наконец, код кнопки вроде:

$("#acceptButton").click(function (event) {
...
});

Привет.

1 голос
/ 05 апреля 2011

Чтобы очистить форму, заполните следующее: раздел вашей формы отправить:

document.myForm.reset();
...