я упомянул об этих двух вопросах, вызывающих php-страницу под функцией Javascript и перейдите к URL-адресу после нажатия кнопки «ОК» в предупреждении . Я хочу перенаправить на мой index.php после вызова окна предупреждения. мое поле оповещения находится в моем заявлении else. ниже мой код:
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. надеюсь, вы можете мне помочь в этом. пожалуйста, не помечены как дубликаты, так как я сделал сообщения в качестве ссылки. большое вам спасибо за вашу помощь.
Вам не хватает полуколонок после ваших строк в javascript. Кроме того, window.location
должен иметь .href
или .replace
т. Д. Для перенаправления. См. Это сообщение для получения дополнительной информации.
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 не будет разбивать строки в первом примере здесь, но будет во втором, поэтому в первом примере нужны полуколоны.
if (window.confirm('Really go to another page?')) { alert('message'); window.location = '/some/url'; } else { die(); }
Таким образом, оба предложения будут выполнены еще до того, как страница закончит загрузку.
Вот ваша ошибка, вам не хватает ';' Изменить:
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
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-декодер может видеть, что каждая команда представляет новую строку.
Удачи!
Рабочий пример в php.
Первое предупреждение, затем перенаправление работает …
Наслаждаться…
echo "<script>"; echo " alert('Import has successfully Done.'); window.location.href='".site_url('home')."'; </script>";
<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.