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全体が、物事を混乱させています。この状況でカスタム確認ボックスを実装する最良の方法を知っている人はいますか?