Я использую PHPMailer, послав данные на почту GMail, но после clickear "соглашаться" в alert
что проверяет, что почта была послана, мои поля продолжают быть полными информации, которую я послал: кто-то знает, как я могу resetearlos?
Это мой код:
Formulario
alert('Los campos marcados con * son obligatorios');location.href ='javascript:history.back()';";
}else{
require("archivosformulario/class.phpmailer.php");
$mail = new PHPMailer();
$mail->From = $Email;
$mail->FromName = $Nombre;
$mail->AddAddress("ejemplo@gmail.com"); // Dirección a la que llegaran los mensajes.
// Aquí van los datos que apareceran en el correo que reciba
//adjuntamos un archivo
$mail->WordWrap = 50;
$mail->IsHTML(true);
$mail->Subject = "Comentarios Tiendas El Golazo";
$mail->Body = "Nombre: $Nombre \n
".
"Email: $Email \n
".
"Mensaje: $Mensaje \n
".
"Telefono: $Telefono \n
";
// Datos del servidor SMTP
$mail->IsSMTP();
$mail->Host = "ssl://smtp.gmail.com:465"; // Servidor de Salida.
$mail->SMTPAuth = true;
$mail->Username = "ejemplo@gmail.com"; // Correo Electrónico
$mail->Password = ""; // Contraseña
if ($mail->Send())
echo "";
else
echo "";
}
?>
Так он увиден, послав информацию и желание знать, как отлаживать это после alert
:
Какая-то подсказка?
Проблема здесь:
if ($mail->Send())
echo "<script>alert('Formulario enviado exitosamente, le responderemos lo más pronto posible.');location.href ='javascript:history.back()';</script>";
else
echo "<script>alert('Error al enviar el formulario');location.href ='javascript:history.back()';</script>";
И в частности в этой части отсюда: location.href ='javascript:history.back()
(который конечно ты мог бы упрощать для того, чтобы он был только history.back()
), потому что то, что ты делаешь, состоит в том, чтобы говорить ему в браузер, чтобы пошел шаг назад в биографии (в страницу формуляра). Тогда браузер отступит шаг в биографии, но обычно поддержит информацию, введенную пользователем (который является тем, что ты хочешь предотвратить).
Ты мог бы решать это различными способами:
Вместо того, чтобы делать history.back()
, используй location.href
для redireccionar в страницу, которая содержит формуляр прямо (p.e.: location.href='pagina_formulario.php'
). Этот метод будет способствовать тому, чтобы, вместо того, чтобы загружается страница, которая есть в кэш-памяти, произвелась новость с формуляром в мишени.
Используй событие pageshow
окна, чтобы отлаживать формуляр. Это событие работает каждый раз, когда пересекается биография (загрузив новую страницу или нажав кнопки вперед / назад).
Код язык сценариев JavaScript был бы очень простым и пошел бы на страницу формуляра (после того, как формуляр был загружен):
<script>
// cuando se muestre la página
window.addEventListener('pageshow', function(event) {
// borra el formulario (asumiendo que sólo hay uno; si hay más, especifica su Id)
document.querySelector("form").reset();
});
</script>
Через javascript метод reset (), для resetear формуляр например:
document.getElementById("myForm").reset();
alert
, потому что быть, и # 237; эксперт отлаживая формуляр в одной p и # 225; gina, в которой формуляр не существует (он существует в предыдущей, не в настоящей)
– Alvaro Montoro♦
16.05.2016, 15:48