このシナリオが必要だと思います:
- ユーザーは、すべての記事を値/オプションとして持つ select タグを含むフォームを含むページを取得します。
- ユーザーは、削除したい記事を選択します。
- ユーザーがボタンをクリックします。
- 次に、ユーザーを URL にリダイレクトします
adm-site.php?del=02&delete=true
。
したがって、この場合、選択した記事の値の値を取得してリダイレクト URL に埋め込むのは JavaScript だけです。したがって、PHP はここでは何もできません。すべてのアクションはクライアント側で行われます。
次の HTML コードを試してください。
<html>
<head>
<script language="JavaScript">
function check(){
var delvar=document.form1.del.options[document.form1.del.selectedIndex].value;
//alert(delvar); //debug
var answer = confirm("Are you sure you want to delete the article?")
if (answer) {
//alert("adm-site.php?del=" + delvar + "&delete=true");
window.location = "adm-site.php?del=" + delvar + "&delete=true";
}
}
</script>
</head>
<body>
<form name="form1">
<select name="del">
<option value="none" SELECTED>None</option>
<option value="01">Article 01</option>
<option value="02">Article 02</option>
<option value="03">Article 03</option>
</select>
<input type="button" value="Delete This Article" onclick="check();">
</form>
</body>
</html>
JSFiddle.net での LIVE デモ (リダイレクト URL の警告)
私が編集/変更したこと:
form
タグに名前を追加しました。
- 現在選択されている記事の値をvar
delvar
に割り当てる方法を変更しました。
それ以外はすべてあなたのものと同じコードです。
Pheonixで言及されているように、上記と同じことを行う少し安全なコードですが、$_POST を使用します。$_POST
の代わりに配列を使用する必要があり$_GET
ますadm-site.php
。
<html>
<head>
<script language="JavaScript">
function check(){
var delvar = document.form1.del.options[document.form1.del.selectedIndex].value;
var agree = confirm("Are you sure you want to delete Article " + delvar + " ?");
if (agree)
return true ;
else
return false ;
} //function check() ENDS
</script>
</head>
<body>
<form name="form1" action="adm-site.php" method="POST">
<select name="del">
<option value="none" SELECTED>None</option>
<option value="01">Article 01</option>
<option value="02">Article 02</option>
<option value="03">Article 03</option>
</select>
<input type="hidden" name="delete" value="true" />
<input type="submit" name="submit" value="Delete this Article" onClick="return check();" />
</form>
</body>
</html>
JSFiddle.net のデモ