我试图在页面加载后立即加载弹出窗口。我已经在网站上使用过这个功能了。然而,现在没有任何东西出现。
<script>
window.onload = function (<?php echo $name . "," . $club ;?>){
var txt = name + " has been deleted from this club";
$.prompt(txt,{
buttons:{Delete:true},
close: function(e,v,m,f){
if(v){
var uid = f.userid;
window.location = "manageclub.php?id=" + club;
}
else{}
}
});
}
</script>
答案 0 :(得分:2)
首先,我应该说这种做法并不是很正确;您正在构建一个新页面,以便您可以显示一个JavaScript提示,然后重定向到另一个页面...我确信可以更好地完成。
那就是说,答案就在这里。你不能像这样在函数定义中传递参数;改为在函数体内定义那些变量;
其次,您没有正确转义club
以便在网址中使用。
window.onload = function ()
{
var name = <?php echo json_encode($name) ?>,
club = <?php echo json_encode($club) ?>,
txt = name + " has been deleted from this club";
$.prompt(txt, {
buttons:{Delete:true},
close: function(e,v,m,f) {
if (v) {
var uid = f.userid;
window.location = "manageclub.php?id=" + encodeURIComponent(club);
}
}
});
}
我使用encodeURIComponent()
在重定向代码中正确地在JavaScript中转义club
,并使用json_encode()
来转义要在JavaScript中使用的PHP变量。