フォームを確認するために jQuery モーダル ダイアログを追加しようとしています。周りを検索して、有望に見え、機能しているように見えるコードを見つけました。ダイアログがポップアップし、確認するとフォームが送信されます。ただし、$_POST 配列は空です。
ここで、e.preventDefault() 関数を無効にすると、post 配列は問題ありません。しかし、その後、ダイアログは開いたままになりません。コードをいじってみましたが、修正できませんでした。以下は、簡略化されたページ コードです。
<?php
print_r($_POST);
?>
<html>
<head>
<script type="text/javascript" src="jquery-1.9.1.js"></script>
<script type="text/javascript" src="jquery-ui-1.10.1.custom.js"></script>
<link rel="stylesheet" href="jquery-ui.css">
</head>
<body>
<form name="formAnnList" id="formAnnList" method="post">
<input name="btn_delete" type="submit" class="button" value="Delete">
</form>
<!-- Delete confirmation dialog -->
<div id="delDialog" title="Confirmation">
<p>
<span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 0 0;"></span>
Are you sure
</p>
</div>
<script type="text/javascript">
$(function(){
$('#delDialog').dialog({
autoOpen: false,
width: 280,
modal: true,
resizable: false,
buttons: {
"Ok": function(){ document.formAnnList.submit(); },
"Cancel": function(){ $(this).dialog("close"); }
}
});
$('form#formAnnList').submit(function(e){
e.preventDefault();
$('#delDialog').dialog('open');
});
});
</script>
</body>
</html>
どんなアイデアでも大歓迎です。
敬具、
ジョージ