TransWikia.com

¿Como recargar un div al enviar un formulario?

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?

One Answer

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

Link introducir la descripción del enlace aquí

Answered by Thakur on August 26, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP