Saltar al contenido

Envíe dos formularios con un botón

Solución:

Debería poder hacer esto con JavaScript:

<input type="button" value="Click Me!" onclick="submitForms()" />

Si sus formularios tienen ID:

submitForms = function(){
    document.getElementById("form1").submit();
    document.getElementById("form2").submit();
}

Si sus formularios no tienen ID pero tienen nombres:

submitForms = function(){
    document.forms["form1"].submit();
    document.forms["form2"].submit();
}

El envío de un formulario hace que la página navegue hasta el action de la forma. Por lo tanto, no puede enviar ambos formularios de la manera tradicional. Si intenta hacerlo con JavaScript llamando form.submit() en cada formulario en sucesión, se cancelará cada solicitud, excepto el último envío. Por lo tanto, debe enviar el primer formulario de forma asincrónica a través de JavaScript:

var f = document.forms.updateDB;
var postData = [];
for (var i = 0; i < f.elements.length; i++) {
    postData.push(f.elements[i].name + "=" + f.elements[i].value);
}
var xhr = new XMLHttpRequest();
xhr.open("POST", "mypage.php", true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send(postData.join("&"));

document.forms.payPal.submit();

Puede enviar el primer formulario utilizando AJAX; de lo contrario, el envío de uno evitará que se envíe el otro.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *