Ver Mensaje Individual
  #6 (permalink)  
Antiguo 01/10/2013, 10:10
Avatar de dAvidcA
dAvidcA
 
Fecha de Ingreso: septiembre-2009
Ubicación: /home/dev/
Mensajes: 73
Antigüedad: 14 años, 7 meses
Puntos: 7
Respuesta: Como recorrer todos los <input> de un form?

Cita:
Iniciado por adryan310 Ver Mensaje
Hola a todos los del foro...

Tengo el siguiente form:
Código HTML:
 <form id="frmSearch" name="frmSearch" action="" method="post" onsumit="return valida()">
       <input type="text" id= "nombre" name="nombre">
       <select id="id_select" name="cmbWebSite">
         <option value="0">Seleccione una opcion</option>
         <option value="1">Nacional</option>
         <option value="2">extrangero</option>
       </select>
       <input type="radio" checked="true" name="optionsActive" value="S"><span>Si</span>
       <input type="radio" checked="true" name="optionsActive" value="N"><span>No</span>
     </form> 
Específicamente lo que quiero es hacer una funcion javascript, que me verifique si el textbox nombre y el combobox contienen datos, osea si digito algo en el textbox y si selecciono algo en el combo que no sea el value 0. Cabe mencionar que dicha funcion debe de ser lo suficientemente dinamica, esto quiere decir que si yo deseo insertarle al form otro textbox como por ejemplo: identificacion, la funcion javascript debe de ser capaz de validar ese nuevo textbox que inserte en el form, sin necesidad de modificar nada el js.

Tenia lo siguiente pero no me funca:
Código HTML:
function valida(){
  var elem = document.frmSearch.elements.getElementsByTagName('input');
  var errors = 0; 
  for(i=0; i<elem.length; i++){
    if(elem[i].value=="" || elem[i].value==" ")
    ++errors;
  }
 if(errors>=5){
    alert('Rellena todo!');
    return false;
  }else
    return true;
} 

Hola de nuevo adryan310, el código tiene varios errores.

1. En el form tienes onsumit y es onsubmit

2. En en Javascript en la línea:

Código Javascript:
Ver original
  1. document.frmSearch.elements.getElementsByTagName('input');

quítale el elements quedando así:

Código Javascript:
Ver original
  1. document.frmSearch.getElementsByTagName('input');

Y listo, el código funciona.

Saludos.