我相信你想要这种情况:
- 用户获得一个页面,其中包含一个包含选择标签的表单,该标签将所有文章作为值/选项。
- 用户选择他/她想要删除的文章。
- 用户单击一个按钮。
- 然后你想将用户重定向到 URL
adm-site.php?del=02&delete=true
。
因此,在这种情况下,只有 JavaScript 会获取所选文章值的值并将其嵌入重定向 URL。所以,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 上的现场演示(警告重定向 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 上的演示