Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/11/2007, 14:38
Raules
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 19 años
Puntos: 0
Campos obligatorios en un formulario

Pues tengo un problemilla y es que he visto un codigo en una pagina que la cual fuciona el ejemplo y en la mia no. Entonces queria ver si alguien podría ayudarme a solucionar mi pequeño problema.

Tengo el siguiente scprit que lo pongo en el head:

Código HTML:
<script>
 function validar() {
   
  // Array con todos los elementos del formulario
  camposTexto = form1.elements;
  
  for (x=0; x < camposTexto.length; x++) {
 
    if (camposTexto[x].value == '' && camposTexto[x].type=='text'){
   
     alert("El campo " + camposTexto[x].name
       + " está vacio y es OBLIGATORIO");
     return false;
  
    }

   }

   // Recorremos todos los campos de texto buscando que esten llenos
   // Lista con los checkbox
   check = form1.acepta_registro;

   // Variable que detecte si hay alguno seleccionado
   // Inicialmente en false
   //Recorremos todos los checkbox buscando que haya alguno marcado
   selected = false

   x=0;
  
   while (!selected && (x <check.length)) {
 
    if (check[x].checked) {   
     selected = true;  
    }
    
    x++;

   }
   
   if (!selected) {
 
   alert ("Para poder continuar deberá de selecionar
           alguna de las opciones");
   return false;

   }
   alert("Todo está correctamente");
   return true;
  }
</script> 
Y despues este formulario:

Código HTML:
<form action="registro2.php" method="post"  name="form1" id="form1" onSubmit="return validar();">
    <h1>Registrarme</h1>
    <div align="center"><img src="web/imagenes/registro1.jpg" alt="Paso 1" width="498" height="50" /> </div>
    <h1>Mis datos</h1>
    <table width="520" border="0" cellpadding="2" cellspacing="0">
      <tr>
        <td align="right"><div align="left"><b>Usuario:</b></div></td>
        <td><input name="usuario*" type="text" id="usuario" size="14" maxlength="10" onfocus="this.style.border='1px solid #f00'" onblur="this.style.border='1px solid #bbb'" />
            <strong>* 10 caracteres m&aacute;ximo</strong></td>
      </tr>
      <tr>
        <td align="right"><div align="left"><b>Contrase&ntilde;a:</b></div></td>
        <td><input name="pass*" type="password" id="pass" size="14" maxlength="12" onfocus="this.style.border='1px solid #f00'" onblur="this.style.border='1px solid #bbb'"  />
            <b><strong>* 10 caracteres m&aacute;ximo </strong></b></td>
      </tr>
      <tr>
        <td align="right" valign="top"><div align="left"><b>Email:</b></div></td>
        <td><input name="email*" type="text" id="email" size="50" onfocus="this.style.border='1px solid #f00'" onblur="this.style.border='1px solid #bbb'"  />
            <b><strong>*</strong></b><b><strong>*</strong></b></td>
      </tr>
      <tr>
        <td align="right"><div align="left"><b>Sexo:</b></div></td>
        <td><select name="sexo" id="sexo">
            <option value="0" selected="selected">Por favor, seleciona..</option>
            <option value="H">Hombre</option>
            <option value="M">Mujer</option>
          </select>
            <b><strong>*</strong></b></td>
      </tr>
      <tr>
        <td align="right"><div align="left"><b>Nombre:</b></div></td>
        <td><input name="nombre*" type="text" id="nombre" size="30" maxlength="50" onfocus="this.style.border='1px solid #f00'" onblur="this.style.border='1px solid #bbb'"  />
            <b><strong>*</strong></b></td>
      </tr>
      <tr>
        <td align="right"><div align="left"><b>Apellidos:</b></div></td>
        <td><input name="apellidos*" type="text" id="apellidos" size="40" onfocus="this.style.border='1px solid #f00'" onblur="this.style.border='1px solid #bbb'"  />
          <b><strong>*</strong></b></td>
      </tr>
      <tr>
        <td align="right"><div align="left"><b>Fecha<br />
            nacimiento:</b></div></td>
        <td><table width="282" border="0" align="left" cellpadding="0" cellspacing="0">
            <tr>
              <td>Dia:</td>
              <td>Mes</td>
              <td>A&ntilde;o: </td>
            </tr>
            <tr>
              <td><select name="dia" id="dia">
                  <option value="" selected="selected">--</option>
                  <option value="01">1</option>
                                </select></td>
              <td><select name="mes" id="mes">
                  <option value="" selected="selected">---</option>
                  <option value="01">Enero</option>
                                </select></td>
              <td><select name="ano" id="ano">
                  <option value="" selected>----</option>
                  <option value="2007"  >2007</option>
                               </select></td>
            </tr>
          </table>
            <b></b></td>
      </tr>
      <tr>
        <td align="right"><div align="left"></div></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td align="right"><div align="left"></div></td>
        <td><strong>* </strong>Datos obligatorios.<br />
            <b><strong>*</strong></b><b><strong>* </strong></b> La direcci&oacute;n de correo es requerida para completar su registro</td>
      </tr>
      <tr>
        <td align="right"><div align="left"></div></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td align="right"><div align="left"></div></td>
        <td><label></label></td>
      </tr>
    </table>
    <p>
      <input type="checkbox" name="acepta_registro" value="si" />
      <strong>*</strong>      S&iacute;, acepto los&nbsp;<a href="#">T&eacute;rminos y condiciones</a>, y la&nbsp;<a href="#">Pol&iacute;tica de Protecci&oacute;n de Datos</a><br />
      <br />
      <br />
    </p>
    <br />
    <br />
    <div align="right">
      <input name="Siguiente &raquo;" type="submit" id="Siguiente &raquo;" value="Siguiente &raquo;" />
    </div>
  </form> 
Que solucion podria tener?

Gracias