Я использую форму для «Оценить» страницу. Эта форма «помещает» данные в php-скрипт в другом месте. Я просто хочу показать ссылку после обработки формы, которая вернет пользователя на предыдущую страницу. Могу ли я сделать это с помощью javascript в моем php-скрипте?
GF
Вы можете использовать ссылку для вызова history.go(-1)
в Javascript, что по сути эквивалентно нажатию кнопки «Назад». В идеале, однако, было бы лучше просто создать ссылку обратно к URL-адресу, откуда пользователь был отправлен в форму – таким образом, правильный «поток» истории сохраняется, и пользователь не задается вопросом, почему у них что-то есть нажмите «Вперед», на который на самом деле просто отправляется форма снова.
Зависит от того, что вы пытаетесь сделать с этим. Вы можете использовать что-то вроде этого:
echo "<a href=\"javascript:history.go(-1)\">GO BACK</a>";
Это самый простой вариант. Другой плакат прав насчет правильного потока истории, но это пример для вас.
Только что отредактированная версия orig не была отступом и ничего не выглядела. 😉
Попробуй это:
$previous = "javascript:history.go(-1)"; if(isset($_SERVER['HTTP_REFERER'])) { $previous = $_SERVER['HTTP_REFERER']; }
в html:
<a href="<?= $previous ?>">Back</a>
Код JavaScript инициализируется, так как резерв для переменной HTTP_REFERER
иногда не работает.
Вы специально попросили JS-решения, но в случае, если кто-то посещает вашу форму с отключенным JS, резервная копия PHP всегда хороша:
когда форма загружает захват предыдущего адреса страницы с помощью чего-то вроде $previous = $_SERVER['HTTP_REFERER'];
а затем установите это как <input type="hidden" value="$previous" />
в вашей форме. Когда вы обрабатываете форму с помощью скрипта, вы можете захватить это значение и вставить его в header("Location:___")
или вставить адрес прямо в ссылку, чтобы отправить их туда, откуда они пришли
Нет JS, довольно простой, и вы можете структурировать его так, чтобы он обрабатывался только в том случае, если клиент не имеет JS.
Как это:
<?php if (isset($_SERVER["HTTP_REFERER"])) { header("Location: " . $_SERVER["HTTP_REFERER"]); } ?>
Мы можем показать кнопку «Назад», используя html-код на наших страницах, который может отображать окно браузера на предыдущей странице. На этой странице будет кнопка или ссылка, и, щелкнув ее, браузер вернется на предыдущую страницу. Это можно сделать с помощью html или с помощью JavaScript на стороне клиента.
Вот код этой кнопки
<INPUT TYPE="button" VALUE="Back" onClick="history.go(-1);">
Использование JavaScript
Мы можем использовать JavaScript для создания ссылки, чтобы вернуть нас на предыдущую страницу или страницу истории. Вот код для перемещения браузера с помощью JavaScript на стороне клиента.
<a href = "javascript:history.back()">Back to previous page</a>
Если ваш веб-сервер правильно перенаправляет вас на новую страницу после того, как вы сделали сообщение, будет использоваться обычная кнопка «назад» в браузере. Или «history.go (-1)» в javascript. Это создаст заполненную форму.
Однако, если сервер просто возвращает новый контент без перенаправления, то history.go (-1) вам не поможет. В этот момент вы потеряли форму.
Если вы просто хотите просто вернуться к предыдущему URL-адресу – просто ссылку на него с тегом A HREF . Это покажет вам пустую форму.
… Посмотрев код Facebook … Я нашел это
Я думаю, кнопка onclick = "history.back ();" является одним из способов решения проблемы. Но это может не работать в следующих случаях:
1.Если страница обновляется или перезагружается. 2. Если пользователь открывает ссылку на новой странице.
Чтобы преодолеть их, можно использовать следующий код, если вы знаете, на какую страницу вы должны вернуться. Например, если у вас нет ссылок на одной странице, и для возврата к этой странице используется кнопка «Назад».
<input type = "button" onclick = "document.location.href = 'filename';" value = "Back" name = "button" class = "btn">
Возможно, поздно для этого ответа, но только в чистом HTML вы всегда можете использовать
./
<a href="./">Return</a>