Диалоговое окно jQuery UI после отправки формы - PullRequest
1 голос
/ 20 сентября 2009

У меня есть форма, которую пользователи могут предоставлять информацию Отправка может быть успешной или неуспешной.

В любом случае я хочу, чтобы диалоговое окно сообщало пользователю, был ли он успешным или нет.
Страница загружается при отправке формы. Ergo, страница не отправляется через Ajax.

Я знаю, как вызвать диалоговое окно, нажав кнопку / ссылку и т. Д. Но как я могу использовать jQuery UI Dialog после отправки формы?

UPDATE

Я нашел решение. Вы можете прочитать решение в этой теме .

Ответы [ 2 ]

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

Не используйте type = 'submit', а скорее привязывайте событие jQuery к обычной кнопке, обрабатывайте форму через ajax. Когда вы получаете результаты через ajax, вы можете либо показать результаты из запроса ajax в диалоговом окне (PHP генерирует сообщение в диалоговом окне), либо у вас может быть условие, которое проверяет, было ли оно успешным или нет, а затем предпринимает соответствующие действия.

Вот пример с формой. (код немного неряшливый)

$(document).ready(function() {
        $('#submit').click(function() {
            name = $('#name').val();
            email = $('#email').val();
            number = $('#number').val();
            message = $('#message').val();  
            $.post("contact.php", //PHP file to send POST to
            { ajax: 'yes', name: name, email: email, number: number, message: message }, //POST fields to send
            function(returned) { //What to do if the POST finishes. 'returned' is the value recieved back from the script.
                if (returned == 'done') {
                    //PHP script returns the word 'Done'
                        alert('Submit successful');
                    });                 
                } else {
                    alert('An error has occured');
}});});});
0 голосов
/ 20 сентября 2009

Вы должны иметь возможность привязать обработчик событий к событию отправки в форме.

$("form_name_here").bind("submit", function(){$("dialog").open()})

Или каким бы ни был метод, чтобы показать диалог. Я не могу вспомнить с макушки головы. Другой вариант - использовать плагин формы jQuery, так как я предполагаю, что вы используете ajax для отправки формы. При этом вы можете передавать методы для всех событий, связанных с отправкой формы. До, после, успеха, неудачи и т. Д.

...