Tengo una pregunta sobre las declaraciones de JQuery y While. Soy bastante nuevo en la codificación y una de mis tareas es verificar si hay entradas vacías cuando un usuario intenta enviar un valor y devolver una alerta. Primero comencé usando sentencias if, y vi que solo la primera sentencia if se leía cuando hacía clic en el botón de envío. Traté de implementar un bucle while para recorrer continuamente todas las declaraciones hasta que se completaron todas las secciones, pero no estoy seguro de si lo estoy haciendo de la manera correcta.
No estoy seguro de qué poner en el ciclo while porque sé que debería ser cierto, pero cierto hasta cierto punto. ¡Cualquier ayuda sería apreciada!
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(), department_division_head: $(`#department_division_head${i}`).val(), } // Check for Empty Inputs and Enforce Users to Fill out Fields $('#submit').click(function(){ while (assetInfo = true) { if (assetInfo.asset_tag_no == '') continue;{ alert('Asset Tag Number can not be left blank'); } if (manufacturer == '') continue; { alert('Manufacturer Serial Number can not be left blank'); } if (descriptions == '') continue;{ alert('The Description can not be left blank'); } if (costs == '') continue;{ alert('The Cost can not be left blank'); } if (po_no == '') continue;{ alert('The PO Number/ Document Number can not be left blank'); } if (department_division_head == '') continue;{ alert('The Remarks can not be left blank'); } else{ alert('Submission Accepted'); break; } } return assetInfo; });Prueba esta técnica hombre,
let assetInfo = { asset_tag_no: { label: "Asset Tag", value: $(`#asset_tag_no${i}`).val() }, manufacturer: { label: "Manufacturer", value: $(`#manufacturer_serial_no${i}`).val() }, } // Check for Empty Inputs and Enforce Users to Fill out Fields let keys = Object.keys(assetInfo); for(let i = 0 ; i < keys.length ; i++){ if(assetInfo[keys[i]].value === "") { alert(assetInfo[keys[i]].label+' can not be left blank'); } }Puede eliminar el bucle while y simplemente hacerlo con un bucle for . En primer lugar, debe recorrer el objeto assetInfo y verificar si todos los valores coinciden con sus necesidades. Lanza alert cuando sea necesario.
for (const info in assetInfo) { if (assetInfo[info] == "") { alert(`${info} shouldn't be blank!`); } }