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

221
Vistas
¿Cómo obtengo esta alerta para detener el bucle?

Tengo este código Javascript donde quiero que el envío de los usuarios solo se envíe a la base de datos, cuando se completen todos los valores. El único problema es que un usuario puede ingresar una nueva fila de datos y eso debe verificarse con un bucle. Cada vez que hago clic en enviar, los datos se envían independientemente de si los campos están llenos o no. Y se repite cada vez. He intentado mover data.push(assetInfo); fuera de los corchetes y todavía imprime el envío aceptado independientemente de las veces que el usuario haga clic en enviar. ¡Cualquier ayuda sería apreciada!

 $('#submit').click(() =>{ $('form').on('submit', function(e){ e.preventDefault(); //Format all Data into JSON for Submission let data = []; // Iterate over all rows and store data for (let i = 1; i <= count; i++){ // Skip Row if it was Removed if (!$(`tr[index=${i}]`).length) continue; // Store all Info from this row let assetInfo = { asset_tag_no: $(`#asset_tag_no${i}`).val(), manufacturer: $(`#manufacturer_serial_no${i}`).val(), descriptions: $(`#description${i}`).val(), costs: $(`#cost${i}`).val(), po_no: $(`#po_no${i}`).val(), remarks: $(`#remarks${i}`).val(), } if (assetInfo.asset_tag_no && assetInfo.manufacturer && assetInfo.descriptions && assetInfo.costs && assetInfo.po_no && assetInfo.remarks != ''){ alert('Submission Accepted'); } // Add Info to array data.push(assetInfo); } // Upload JSON to Database console.log(data); }); }); })
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No necesita mover el push fuera de los soportes. Necesitas moverlo dentro de los corchetes:

 if (assetInfo.asset_tag_no && assetInfo.manufacturer && assetInfo.descriptions && assetInfo.costs && assetInfo.po_no && assetInfo.remarks != ''){ alert('Submission Accepted'); // Add Info to array data.push(assetInfo); }

EDITAR

Si desea empujar una fila exactamente una vez, puede reemplazar

 if (!$(`tr[index=${i}]`).length) continue;

con

 let currentRow = $(`tr[index=${i}]`); if ((!currentRow.length) || (currentRow.hasClass("submitted"))) continue; currentRow.addClass("submitted");
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