Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

219
Vistas
cómo activar múltiples formularios/botones de envío al mismo tiempo con solo hacer clic en un botón

Tengo algunas pestañas, cada una con su propio formulario y su propio botón de envío. Quiero activar todos los formularios y enviar solicitudes para cada formulario con solo hacer clic en un botón. Ese botón debería esencialmente hacer clic en cada botón de envío individual para cada formulario (en este caso, ese botón sería el botón con la clase "submit_all". El html:

 div class="tab-content" id="tab_content_one" div id="#tab1" class="tab-pane fade in active" = form_tag({ action: "route1" }, method: method) .form-group textarea.form-control name="words" input.btn.btn-primary type="submit" class="submit" div id="tab2" class="tab-pane fade" = form_tag({ action: "route1" }, method: method) .form-group textarea.form-control name="words" input.btn.btn-primary type="submit" class="submit" div id="tab3" class="tab-pane fade" = form_tag({ action: "route1" }, method: method) .form-group textarea.form-control name="words" input.btn.btn-primary type="submit" class="submit" input.btn.btn-primary type="submit" class="submit_all" onclick="goBack()"

Intenté usar javascript para recuperar todos los botones de envío para cada uno de los formularios e iterar y hacer clic en cada botón de envío, sin embargo, eso no funcionó. Terminó disparando solo la forma final.

 function goBack() { var submit2 = document.getElementsByClassName('submit') console.log(submit2) for (i=0; i<=(submit2.length); i++){ submit2[i].click() }

¿Estoy haciendo algo mal? y ¿de qué otra manera puedo hacer esto?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Si envía un form.submit() (o button.click() en el botón de envío) en todos los formularios, solo se puede enviar un formulario, dependiendo de cómo se creen los formularios.

Para obtener los datos de todos los formularios, puede recopilarlos con el nuevo FormData(FormElement) y serializarlos usando [...formData.entries()] .

 submitAll.onclick = () => { const data = [ ...new FormData(form1).entries(), ...new FormData(form2).entries() ]; // place your logic here... // for example a fetch() or websocket.send() request console.log(data); }
 <form id="form1" onsubmit="event.preventDefault(); return false;"> <input type="text" name="customForm1Text" value="something"> <input type="submit"> </form> <form id="form2" onsubmit="event.preventDefault(); return false;"> <input type="text" name="customForm2Text" value="text"> <input type="number" name="customForm2Number" value="1"> <input type="date" name="customForm2Date"> <input type="submit"> </form> <button id="submitAll">Submit both forms at once</button>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda