Cita:
Iniciado por carlillos En tu segundo código estás haciendo un loop para todos los elementos sin distinción, si quieres que haya algunos opcionales tienes que crear una excepciónes.
Código Javascript
:
Ver originalvar form = document.getElementById("formulario");
form.addEventListener("submit", function(event){
event.preventDefault();
var campo = true,
elementos = this.elements,
total = elementos.length,
opcional; //Variable de campo opcional
for (var i = 0; i < total; i++){
//Valor inicial de variable
opcional = false;
//Revisando si es campo opcional
if (elementos[i].name === "imagen1" ||
elementos[i].name === "imagen2" ||
elementos[i].name === "imagen3" ||
elementos[i].name === "imagen4" ||
elementos[i].name === "imagen5" ||
elementos[i].name === "imagen6") {
//Activando variable opcional
opcional = true;
}
if (!elementos[i].value.length && !opcional){
alert ("Debes de ingresar el " + elementos[i].name);
elementos[i].focus();
campo = false;
break;
}
}
if (campo){
this.submit();
}
}, false);
Saludos.
carlillos;4767798 Te agradezco infinitamente tu ayuda, tu código funciona que no veas, va de 10, ahora tengo una duda, me valida perfectamente bien los campos input, pero ¿Qué pasa con los campos de selección?, si me pudieras echar una mano para adaptar mi primer codigo al que ya me has proporcionado, para lograr una validación completa de todos los campos, es decir, tanto los input como los select, y de paso dejar un codigo muy util de validación para cualquiera que lo necesite.
Mi primer codigo funciona bien, solo que no se adapta como debería al segundo ni al tuyo, pues si falta un campo input y un select, saltan los dos avisos uno seguido del otro, sin respetar algun tipo de estructura switch o break que vaya detectando segun el orden de los campos.
De antemano te agradezco muchisimo tu ayuda, si es posible que me orientes en lo que te solicito yo mismo trataría de desarrollarlo.