1

ユーザーが情報を送信できるフォームがあります。送信は成功する場合もあれば、成功しない場合もあります。

どちらの場合も、成功したかどうかをユーザーに知らせるダイアログ ボックスが必要です。
ページは、フォームの送信時に読み込まれます。したがって、ページは Ajax を介して送信されません。

ボタン/リンクなどをクリックしてダイアログボックスをトリガーする方法を知っていますが、フォーム送信後にjQuery UIダイアログ を使用するにはどうすればよいですか?

アップデート

私は解決策を見つけました。このスレッドで解決策を読むことができます

4

2 に答える 2

1

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');
}});});});
于 2009-10-28T09:00:00.983 に答える
0

イベント ハンドラーをフォームの送信イベントにバインドできる必要があります。

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

または、ダイアログを表示する方法が何であれ。頭の中じゃ思い出せない。もう1つのオプションは、フォームの送信にajaxを使用していると想定しているため、jQueryフォームプラグインを使用することです。これにより、フォーム送信に関連するすべてのイベントにメソッドを渡すことができます。ビフォー、アフター、成功、失敗など。

于 2009-09-20T17:32:58.673 に答える