[英]Use php in window.location.href
這是我的js代碼:
function check() {
var delvar = "<? $_POST["del"]; ?>";
var answer = confirm("Are you sure you want to delete the article?")
if (answer) {
window.location = "adm-site.php?del=" + delvar + "&delete=true";
}
}
現在,我的問題是delvar
不起作用。 因此網址只是?del=&delete=true
,而不是例如?del=testarticle&delete=true
編輯:我的$_POST["del"]
是一個選擇標記,其中包含所有文章,因此您將選擇要刪除的標記
HTML代碼:
<select name="del">
<option value="none" SELECTED></option>
all articles echo'ed here by php
</select>
我相信您想要這種情況:
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上的LIVE演示(允許重定向URL)
我編輯/更改的內容:
form
標簽中添加了名稱。 delvar
分配當前所選商品的值的方式。 其他都和您的代碼相同。
如Pheonix所述 ,這是一個有點安全的代碼,與上面的代碼相同,但是使用$ _POST。 您需要在adm-site.php
使用$_POST
數組而不是$_GET
。
<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>
var delvar = '<?php echo $_POST["del"]; ?>';
注意<?php
而不是不鼓勵的簡碼。
您的HTML包含"
因此您需要用單撇號將PHP包圍起來。如果您使用short標記,請正確使用它。因此,最后,它應如下所示:
var delvar = '<?= $_POST["del"]; ?>';
這是考慮的另一種方法:鏈接到要發送到的頁面,然后像這樣給它一個onclick
:
<a href="/adm-site.php?del=<?php echo $_POST['del']; ?>&delete=true" onclick="return confirm('Confirm Deletion?')" >Delete</a>
這可行,但可能取決於您觸發check()
條件,因此可能不適合您的環境。
var delvar = "<? $_POST["del"]; ?>";
您正在嘗試將javascript和php結合使用,但是我們沒有這種可能性,因為javascript是客戶端腳本語言,PHP是服務器端腳本語言。 還有另一種組合javascript和php的方法。 請參考此鏈接 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.