Stack Overflow en español Asked by José Carlos Castillo on August 26, 2021
Hice un formulario, el cual se envía con PHPMailer a un correo, después de que se envía el formulario regresa un alert ya sea que el correo se haya enviado correctamente o no. Después quiero resetear el formulario, esto lo hice con la siguiente linea de código
$('#formcontacto').trigger("reset");
Pero esto no resetea el captcha de google, busque ya como hacer esto, pero no encontré una solución, por lo cual si quiero enviar otro correo tengo que recargar la página, pero creo que es posible recargar solamente el div donde tengo el formulario, para que de esta manera después de que se cierre el alert se recargue el div donde tengo el formulario. ¿Es posible recargar solamente el div? ¿Si es así como podría hacerlo? Ya intenté con esto
$("#divid").load(" #divid");
Pero se desaparece el captcha después de que se envía el formulario.
También intenté con grecaptcha.reset(); Pero no se exactamente en donde debía hacer esto. Lo puse justo después de donde hago reset al fomulario
$(document).ready(function(e) {
$("#formcontacto").validetta({
onValid:function(e){
e.preventDefault();
var x = grecaptcha.getResponse();
if(x.length == 0){
$.alert({
title:"Error Captcha",
content:"No has marcado el captcha",
useBootstrap:false,
boxWidth:"30%"
});
}else{
$.ajax({
method:"post",
url:"recaptcha_AX.php",
cache:false,
data:{
nombre:$("#nombre").val(),
empresa:$("#empresa").val(),
correo:$("#correo").val(),
asunto:$("#asunto").val(),
mensaje:$("#mensaje").val(),
captcha:grecaptcha.getResponse()
},
success:function(resp){
$.alert({
title:"Gracias por contactarnos!",
content:resp,
useBootstrap:false,
boxWidth:"30%"
});
$('#formcontacto').trigger("reset");
grecaptcha.reset("recaptcha1");
//Aquí puse el reset con el id del div en donde tengo el recaptcha
}
});
}
}
});
});
Este código hace una validación de que le captcha haya sido marcado al enviar el formulario para después enviar la información del formulario a un archivo php donde el recaptcha es validado y el formulario enviado a un correo. En las dos ultimas lineas es en donde hago reset al formulario y en donde intenté hacer reset al recaptcha. Pero no funciona, es aquí donde tiene que estar esa linea de reset? ¿o en donde?
Puedes probar de ejecutar esta línea al resetear el formulario:-
grecaptcha.reset(); // el método reset accepta un parámetro, que es el captcha que quieres resetear
Answered by Thakur on August 26, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP