Как обновить страницу формы после отправки формы в пустую?
у меня есть HTML-форма, которая нацелена _blank
. Я хотел бы, чтобы страница, на которой находится форма, перезагрузилась после отправки.
Итак, вот пример разметки:
<form method="POST" action="result.php" target="_blank">
<label for="name">Name:</label>
<input type="text" name="name" />
<label for="email">Email:</label>
<input type="email" name="email" />
<input type="submit" value="submit" />
</form>
поэтому, когда вы отправляете эту форму, она будет POST
to result.php
в новом окне или вкладке. Это оставляет страницу формы как есть. Я хочу, чтобы страница формы перезагрузилась или, по крайней мере, сбросила все поля.
Я пробовал <form onsubmit="location.reload()"...
а также onsubmit="window.location.reload()"
но ничего не изменилось.
любой предложения?
(пожалуйста, не jquery)
3 ответов
Не знаю, почему window.location.reload()
не работает. Думаю, так и должно быть. Однако это, похоже, работает:
onsubmit="setTimeout(function () { window.location.reload(); }, 10)"
есть два способа сделать это, один, что вы не хотите услышать.
первый:
в теге init формы, если вы установили action=""
затем форма будет отправлена на ту же страницу (к себе).
<form action="" method="post">
Это позволяет добавить серверный код в верхнюю часть страницы, например (используя PHP, например):
<?php
If (empty($_POST)===false) {
//server side scripting to handle the submitted form
}else{
?>
//HTML to create/show the page with form for user input
<?php
//Close the if statement
}
?>
второй:
используйте AJAX (javascript или jQuery) для "отправки" формы, а затем -- в обратном вызове функции AJAX -- продолжайте любые изменения, которые вы хотите внести на страницу, включая перенаправление на новую страницу.