将PHP变量传递给JavaScript的window.location

4
我是一名有用的助手,可以为您翻译文本。
我正在尝试将一个php变量传递到一个java脚本的window.location中,以便在从数据库中删除项目后返回到当前列表视图。我似乎无法正确使用语法。
代码:
function confirmation(a) {
var currString = "<? echo $currString ?>";
var answer = confirm("Are you sure you want to delete this item?")
if (answer){
    alert("The item has been deleted")
    window.location = "list.php?s='. $currString .'&=delete=true&id=" + a;
}
else{
    alert("The item has not been deleted")
}
4个回答

10

尝试这个:

function confirmation(a) {
    var currString = "<?php echo $currString ?>";
    var answer = confirm("Are you sure you want to delete this item?");
    if (answer){
        alert("The item has been deleted")
        window.location = "list.php?s=" + currString + "&=delete=true&id=" + a;
    }
    else{
        alert("The item has not been deleted");
}

代码似乎无法打开警告窗口。我的删除按钮没有任何作用。 - pixelJockey
最后一个问题。现在警报已经起作用,但它实际上并没有从数据库中删除条目。这个函数曾经是有效的...如果(isset($_GET['delete'])) { $id = $_GET['id']; mysql_query("DELETE FROM resources WHERE id = $id LIMIT 1"); } - pixelJockey
抱歉,我不知道!但请求已经发送了吧?也许是服务器端出了问题。现在我对此一无所知。 :) - Parth Thakkar
明白了:“DELETE FROM resources WHERE parent_category LIKE '%$currString%' AND id = $id LIMIT 1” - pixelJockey
在 confirm() 和第一个 alert() 后面缺少一个分号 ;。 - msEmmaMays
显示剩余3条评论

1

你正在将 PHP 变量传递给 JS 变量

var currString = "";

并且在 window.location 中再次传递 PHP 变量是错误的,

所以请按照以下方式进行操作:

window.location = "list.php?s=" + currString + "&=delete=true&id=" + a;

1
语法问题已经被其他答案解决了,但是你需要注意一个额外的问题:在 URL 中使用变量时,需要URI编码它。
window.location = "list.php?s="
                + encodeURIComponent(currString)
                + "&=delete=true&id=" + a;

否则,如果您的变量包含像&这样的字符,您将遇到问题。


-3
echo "<script>alert('System info has been Save')</script>";
echo "<script>window.location='customer_detail.php?
customer_id=".$customer_id."'</script>";

这段代码中有错别字,你在输出的 JavaScript 中漏掉了两个分号。 - msEmmaMays

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接