0

AJAXJQuery検証プラグインを使用してフォームを送信しています。コードは次のようになります。

$(document).ready(function(){
$("#myform").validate({
    debug: false,
    rules: {
        fname: {required: true}, 
        sname: {required: true}, 
        gender: {required: true}, 
    },
    messages: {
        fname: {required: " *"},
        sname: {required: " *"},
        gender: {required: " *"},
    },
    submitHandler: function(form) {
        $('input[type=submit]').attr('disabled', 'disabled');
        $('#results').html('Loading...');
        $.post('process_participant.php', $("#myform").serialize(), function(data) {
            $('#results').html(data);
        });
    }
});
}); 

問題は、この情報をPHPページ(process_participant.php)に送信した後、ユーザーが別の参加者を追加するかどうかを尋ねる確認ボックスで応答したいということです。PHPコードは次のようになります。

if (everything processes okay){

echo '<script type="text/javascript">';
echo 'input_box=confirm("Saved successfully. Would you like to add another participant?");
            if (input_box==true) {
                window.location = "new_participant.php"
            }   
            else {
                window.location = "home.php"
            }';
echo '</script>';  
}

これはすべて正常に機能しますが、デフォルトの確認ボックスは受け入れられません。スタイリングして、[OK]と[キャンセル]から[はい]と[いいえ]に変更できるようにする必要があります。このプラグインを使用することにしました:http://kailashnadh.name/code/jqdialog/そしてPHP側で次のコードを使用します:

echo '<script type="text/javascript">';

echo "  function confirmBox() {
                $.jqDialog.confirm(\"Are you sure want to click either of these buttons?\",
                function() { window.location = \"new_participant.php\"; },
                function() { window.location = \"home.php\"; }  
                );
            });";

echo "confirmBox();";

しかし、私はそれを機能させることができないようです。たぶん私はプラグインの使用を避けるべきですか?AJAX全体が、物事を混乱させています。この状況でカスタム確認ボックスを実装する最良の方法を知っている人はいますか?

4

2 に答える 2

0

最初からdisplay:noneでボックスを作成し
、postリクエストの関数が返されたときに
(変数データに基づいて)チェックを行い、
すべてがOKの場合は、jqueryのshow()を使用して可視性を変更します。

于 2012-09-20T15:10:32.297 に答える
0

これを試してください

実装は簡単で、アラートとコンフォームボックス用に独自のHTMLを定義するだけです。

于 2012-09-20T15:13:43.523 に答える