我已经提到了这两个问题call php page under Javascript function和Go to URL after OK button in alert is pressed。我想在调用警告框后重定向到我的index.php。我的警报框在我的其他声明中。下面是我的代码:
processor.php
if (!empty($name) && !empty($email) && !empty($office_id) && !empty($title) && !empty($var_title) && !empty($var_story) && !empty($var_task) && !empty($var_power) && !empty($var_solve) && !empty($var_result)) {
(some imagecreatefromjpeg code here)
else{
echo '<script type="text/javascript">';
echo 'alert("review your answer")';
echo 'window.location= "index.php"';
echo '</script>';
}
它不会显示任何内容(没有警告框而不是重定向)。当我删除这部分echo 'window.location= "index.php"';
时,它会显示警报。但仍然没有重定向到index.php。希望你能帮助我。请不要标记重复,因为我已将帖子作为参考。非常感谢你的帮助。
答案 0 :(得分:18)
你的javascript线后丢失了分号。另外,window.location
应该有.href
或.replace
等来重定向 - See this post for more information.
echo '<script type="text/javascript">';
echo 'alert("review your answer");';
echo 'window.location.href = "index.php";';
echo '</script>';
为清楚起见,请尝试为此保留PHP标记:
?>
<script type="text/javascript">
alert("review your answer");
window.location.href = "index.php";
</script>
<?php
注意:单独行上的半冒号是可选的,但是鼓励 - 但是如下面的注释中所示,PHP不会在第一个示例中断行,但在第二个示例中,所以分号是第一个例子中要求的。
答案 1 :(得分:2)
if (window.confirm('Really go to another page?'))
{
alert('message');
window.location = '/some/url';
}
else
{
die();
}
答案 2 :(得分:2)
就像这样,即使在页面加载完成之前,这两个句子也会被执行。
这是你的错误,你错过了';' 变化:
echo 'alert("review your answer")';
echo 'window.location= "index.php"';
要:
echo 'alert("review your answer");';
echo 'window.location= "index.php";';
然后提出一个建议: 你真的应该在一些事件之后触发那个逻辑。所以,例如:
document.getElementById("myBtn").onclick=function(){
alert("review your answer");
window.location= "index.php";
};
另一个建议是,使用jQuery
答案 3 :(得分:2)
window.location = mypage.href
是浏览器转储其内容并开始加载更多内容的直接命令。因此,为了更好地澄清,这是PHP脚本中发生的事情:
echo '<script type="text/javascript">';
echo 'alert("review your answer");';
echo 'window.location = "index.php";';
echo '</script>';
1)准备接受对当前Javascript缓存的修改或添加。 2)显示警报 3)将所有内容转储到浏览器内存中并为更多内容做好准备(尽管是加载新URL的旧方法) (并注意行之间没有“\ n”(新行)指示符,因此在JS解码器中造成了一些破坏。
让我建议你以另一种方式这样做..
echo '<script type="text/javascript">\n';
echo 'alert("review your answer");\n';
echo 'document.location.href = "index.php";\n';
echo '</script>\n';
1)准备接受对当前Javascript缓存的修改或添加。 2)显示警报 3)将所有内容转储到浏览器内存中并为更多内容做好准备(以比以前更好的方式)和WOW - 这一切都有效,因为JS解码器可以看到每个命令都是一个新行。
祝你好运!
答案 4 :(得分:-1)
php中的工作示例
第一次警报然后重定向工作....
享受...
echo "<script>";
echo " alert('Import has successfully Done.');
window.location.href='".site_url('home')."';
</script>";
答案 5 :(得分:-1)
<head>
<script>
function myFunction() {
var x;
var r = confirm("Do you want to clear data?");
if (r == true) {
x = "Your Data is Cleared";
window.location.href = "firstpage.php";
}
else {
x = "You pressed Cancel!";
}
document.getElementById("demo").innerHTML = x;
}
</script>
</head>
<body>
<button onclick="myFunction()">Retest</button>
<p id="demo"></p>
</body>
</html>
这将重定向到新的php页面。