別のページから読み込んだかなりのフォーム(changeuserjudge.php)フォームが送信されると、ブラウザウィンドウ(送信ダイアログではなく)に送信ページが開きます。私は送信ボタンが押された(そしてPOST変数を送信する)と、同じダイアログボックスに処理フォーム(changeuserjudgeprocess.php)をどのように読み込むことができるかを調べようとしています。私は同じページで処理をやめようとしています。JQuery UIダイアログ - ダイアログ内の別のページからフォームをロードし、同じダイアログ内で処理ページを開く(送信時に)
ダイアログスクリプト:
<script type="text/javascript">
$(document).ready(function(){
$('#click').click(function(){
$("#test").load('changeuserjudge.php?user=tim').dialog({modal:true});
$("#test").dialog("option", "minWidth", 330);
$("#test").dialog("option", "position", 'top');
});
});
</script>
(テストは、単に空白のページ上のdivです)
フォームを送信:
<body>
<div id="judgesMenu">
<form action="changeuserjudgeprocess.php" method="POST">
<?php
$selectedJudges = array();
if(isset($_GET['user'])){
echo '<center><b>User: '.ucfirst($_GET['user']).'</b></center><br />';
}
echo '<center><input type="checkbox" id="checkall">Select All <input type="checkbox" id="checknone">Select None</center><br />';
$listUserJudges = getUserJudges(userNametoID($_GET['user']));
$arr = array();
$num = count($listUserJudges);
if ($num>1){
foreach ($listUserJudges as $x){
array_push($arr, judgeIDtoName($x));
}
}
else {
array_push($arr, $listUserJudges);
}
echo '<ul>';
$list = getActiveJudges();
foreach ($list as $x){
$found = 0;
if (count($arr)>1){
foreach ($arr as $y){
if ($x == $y){
$found = 1;
break;
}
}
}
else {
if (judgeNametoID($x) == $arr[0]){
$found = 1;
}
}
if ($found==1){
echo '<li>';
array_push($selectedJudges, judgeNametoID($x));
echo '<input type="checkbox" checked="checked" name="checkbox[]" value="'.$x.'" />'.$x.'<br/>';
echo '</li>';
}
else {
echo '<li>';
echo '<input type="checkbox" name="checkbox[]" value="'.$x.'" />'.$x.'<br/>';
echo '</li>';
}
}
echo '</ul>';
$_SESSION['selectedJudges']=$selectedJudges;
?>
<input type="hidden" name="user" value="<?php echo userNametoID($_GET['user']); ?>" />
<br/>
<p><center><input type="Submit" value="Save Changes" id="sub"/></center></p></div>
</form></body>
ありがとう!このプラグインはとても便利です。フォームは正しく送信されているので、これはいいですが、ダイアログボックスを終了してからブラウザウィンドウにchangeuserjudgeprocess.phpをロードすることはできません。私は偽を返して使用しようとした。どんな成功もなしに。何か案は? –
フォーム処理スクリプトにリダイレクトがありませんでしたか?プラグインを設定する場所にコードを投稿できますか? – centralscru