Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/04/2010, 05:56
jawir
 
Fecha de Ingreso: marzo-2009
Mensajes: 221
Antigüedad: 15 años, 10 meses
Puntos: 0
validar algunos campos

Hola, tengo un formulario en el que segun que opcion coges en el radio button (Cliente registrado) se desactivan unos campos del formulario o otros. Tengo una funcion para validar los campos del formulario (validar) pero el problema es que cuando se desactivan los campos del formulario, no quiero que esos campos se validen porque el cliente no los rellenara. No se si me entendeis, como puedo hacer para que segun el radio button marcado se validen los 10 primeros campos y sino el 11 y 12 por ejemplo.
No os pongo todas la funciones de validar.


Código Javascript:
Ver original
  1. function validar(formulario)
  2. {
  3.     if (validarDni(formulario)==false){
  4.         return false;
  5.     }
  6.  
  7.     if (validarTexto(formulario)==false){
  8.         return false;
  9.     }
  10.    
  11.     if (validarNumeros(formulario)==false){
  12.         return false;
  13.     }
  14.    
  15.     ......
  16. }
  17.  
  18.  
  19. function validarDni(formulario)
  20. {
  21.     abc=formulario.dni.value;
  22.     nif=abc.substring(0,abc.length-1);
  23.     let=abc.charAt(abc.length-1);
  24.     if (!isNaN(let))
  25.      {
  26.       alert('Falta la letra del Dni.');
  27.       formulario.dni.focus();
  28.       return false;
  29.      }
  30.     else
  31.     {
  32.       cadena="TRWAGMYFPDXBNJZSQVHLCKET";
  33.       posicion = nif % 23;
  34.       letra = cadena.substring(posicion,posicion+1);
  35.       if (letra!=let.toUpperCase())
  36.        {
  37.         alert("DNI no valido.");
  38.         formulario.dni.focus();
  39.         return false;
  40.        }
  41.     }
  42.     return true;
  43. }
  44.  
  45.  
  46. function validarTexto(formulario)
  47. {
  48.     nom=formulario.nombre.value;
  49.     ape1=formulario.apellido1.value;
  50.     ape2=formulario.apellido2.value;
  51.     dir=formulario.direccion.value;
  52.  
  53.  
  54.  
  55.     if (!(/^[a-z]+$/i.test(nom)))
  56.     {
  57.         alert('Introduce solo texto en el campo nombre.');
  58.                 formulario.nombre.focus();
  59.         return false;
  60.     }
  61.  
  62.     if (!(/^[a-z]+$/i.test(ape1)))
  63.     {
  64.         alert('Introduce solo texto en el campo apellidos.');
  65.             formulario.apellido1.focus();
  66.         return false;
  67.     }
  68.    
  69.     if (!(/^[a-z]+$/i.test(ape2)))
  70.     {
  71.         alert('Introduce solo texto en el campo apellidos.');
  72.             formulario.apellido2.focus();
  73.         return false;
  74.     }
  75.    
  76.     if (dir=="")
  77.     {
  78.         alert('El campo direccion esta vacio.');
  79.             formulario.direccion.focus();
  80.          return false  
  81.     }
  82.    
  83. }

Código HTML:
Ver original
  1. <form method="POST" name="frm" action="comprueba.php" onSubmit="return validar(this)">
  2.  <div align="center"><strong>CONFIRMACI&Oacute;N DE DATOS</strong> </div>
  3.      
  4.    
  5.      <fieldset id="form">
  6.       <ol>
  7.        <li><font size="2"><label>Cliente registrado?</label>
  8.  
  9.          NO  <input type="radio" value="nocliente" checked onClick="lockIt(_F)" id="radio1" name="radio1" >
  10.          SI <input type="radio" value="cliente" onClick="lockIt(_T)" id="radio1" name="radio1"  />
  11.     </font>
  12.     </li>
  13.  
  14.         <li><label>DNI: <font color=blue>(*)</font></label>
  15.                 <input type="text" size="9" maxlength="9"name="dni" id="dni" onFocus="if(isDis())blur();">
  16.         </li>
  17.         <li><label>Nombre:<font color=blue>(*)</font></label>
  18.                 <input type="text" size="30" maxlength="30"name="nombre" onFocus="if(isDis())blur();">
  19.         </li>
  20.         <li><label>Primer Apellido:<font color=blue>(*)</font></label>
  21.                 <input type="text" size="30" maxlength="30"name="apellido1" onFocus="if(isDis())blur();">
  22.         </li>
  23.         <li><label>Segundo Apellido:</label>
  24.                 <input type="text" size="30" maxlength="30"name="apellido2" onFocus="if(isDis())blur();">
  25.         </li>
  26.         <li><label>Direccion:<font color=blue>(*)</font></label>
  27.                 <input type="text" size="40" maxlength="40"name="direccion" onFocus="if(isDis())blur();">
  28.         </li>
  29.        
  30.         <li><label>Fecha Nacimiento: <font color=blue>(*)</font></label>
  31.        
  32.             <select size="1" name="dia" onFocus="if(isDis())blur();">
  33.                 <option selected value="1">1</option>
  34.                 <option value="2">2</option>
  35.                 <option value="3">3</option>
  36.                 <option value="4">4</option>
  37.                 <option value="5">5</option>
  38.                 <option value="6">6</option>
  39.                 <option value="7">7</option>
  40.                 <option value="8">8</option>
  41.                 <option value="9">9</option>
  42.                 <option value="10">10</option>
  43.                 <option value="11">11</option>
  44.                 <option value="12">12</option>
  45.                 <option value="13">13</option>
  46.                 <option value="14">14</option>
  47.                 <option value="15">15</option>
  48.                 <option value="16">16</option>
  49.                 <option value="17">17</option>
  50.                 <option value="18">18</option>
  51.                 <option value="19">19</option>
  52.                 <option value="20">20</option>
  53.                 <option value="21">21</option>
  54.                 <option value="22">22</option>
  55.                 <option value="23">23</option>
  56.                 <option value="24">24</option>
  57.                 <option value="25">25</option>
  58.                 <option value="26">26</option>
  59.                 <option value="27">27</option>
  60.                 <option value="28">28</option>
  61.                 <option value="29">29</option>
  62.                 <option value="30">30</option>
  63.                 <option value="31">31</option>
  64.             </select>          
  65.            
  66.             <select size="1" name="mes" onFocus="if(isDis())blur();">
  67.                 <option selected value="1">Enero</option>
  68.                 <option value="2">Febrero</option>
  69.                 <option value="3">Marzo</option>
  70.                 <option value="4">Abril</option>
  71.                 <option value="5">Mayo</option>
  72.                 <option value="6">Junio</option>
  73.                 <option value="7">Julio</option>
  74.                 <option value="8">Agosto</option>
  75.                 <option value="9">Setiembre</option>
  76.                 <option value="10">Octubre</option>
  77.                 <option value="11">Noviembre</option>
  78.                 <option value="12">Diciembre</option>
  79.             </select>              
  80.            
  81.             <select size="1" name="year" onFocus="if(isDis())blur();">
  82.                 <option value="1992">1992</option>
  83.                 <option value="1991">1991</option>
  84.                 <option value="1990">1990</option>
  85.                 <option value="1989">1989</option>
  86.                 <option value="1988">1988</option>
  87.                 <option value="1987">1987</option>
  88.                 <option value="1986">1986</option>
  89.                 <option value="1985">1985</option>
  90.                 <option value="1984">1984</option>
  91.                 <option value="1983">1983</option>
  92.                 <option value="1982">1982</option>
  93.                 <option value="1981">1981</option>
  94.                 <option value="1980">1980</option>
  95.                 <option value="1979">1979</option>
  96.                 <option value="1978">1978</option>
  97.                 <option value="1977">1977</option>
  98.                 <option value="1976">1976</option>
  99.                 <option value="1975">1975</option>
  100.                 <option value="1974">1974</option>
  101.                 <option value="1973">1973</option>
  102.                 <option value="1972">1972</option>
  103.                 <option value="1971">1971</option>
  104.                 <option value="1970">1970</option>
  105.                 <option value="1969">1969</option>
  106.                 <option value="1968">1968</option>
  107.                 <option value="1967">1967</option>
  108.                 <option value="1966">1966</option>
  109.                 <option value="1965">1965</option>
  110.                 <option value="1964">1964</option>
  111.                 <option value="1963">1963</option>
  112.                 <option value="1962">1962</option>
  113.                 <option value="1961">1961</option>
  114.                 <option selected value="1960">1960</option>
  115.              </select> 
  116.         </li>
  117.         <li><label>Telefono:<font color=blue>(*)</font></label>
  118.             <input type="text" size="15" maxlength="15"name="telefono" onFocus="if(isDis())blur();">
  119.         </li>
  120.        
  121.         <li><label>Movil:</label>
  122.             <input type="text" size="9" maxlength="9"name="movil" onFocus="if(isDis())blur();">
  123.         </li>
  124.        
  125.        
  126.         <li><label>E-mail:<font color=blue>(*)</font></label>
  127.             <input type="text" size="25" maxlength="25"name="mail" onFocus="if(isDis())blur();">
  128.         </li>
  129.  
  130.  
  131.         <hr />
  132.         <li><label>DNI</label>
  133.        <input type="text" name="dnicliente" size="10" maxlength="9" onFocus="if(!isDis())blur();" />
  134.         </li>
  135.  
  136.         <li><label>Password</label>
  137.                <input type="password" name="password" size="15" maxlength="15" onFocus="if(!isDis())blur();">
  138.         </li>
  139.      
  140.         <hr />
  141.         <p align="center">
  142.  
  143.         <input name="submit" type="submit" class="btn" value="Confirmar" />
  144.       </p>
  145.     </fieldset>
  146.    </form>