Foros del Web » Programando para Internet » Javascript »

Campos obligatorios en un formulario

Estas en el tema de Campos obligatorios en un formulario en el foro de Javascript en Foros del Web. 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. ...
  #1 (permalink)  
Antiguo 20/11/2007, 14:38
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
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
  #2 (permalink)  
Antiguo 20/11/2007, 22:15
Avatar de marcopoloaz06  
Fecha de Ingreso: julio-2007
Ubicación: México
Mensajes: 457
Antigüedad: 16 años, 9 meses
Puntos: 11
Re: Campos obligatorios en un formulario

Que se supone que hace el script y podrias decir de donde lo sacaste??
para mas ayuda
__________________
Aerolíneas Alicia :D
  #3 (permalink)  
Antiguo 21/11/2007, 01:19
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Campos obligatorios en un formulario

Hola:

A simple vista no reo que funcione bien el código (hablo de todos los navegadores)... lo de poner form1.elements sin poner por delante al menos document los formularios dependen del objeto document, y también se pueden referenciar desde la coleccion document.forms...

¿Porqué no te animas a desarrollar el tuyo? no es difícil.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 21/11/2007, 07:59
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Campos obligatorios en un formulario

Es que no tengo mucha idea de programacion y contestando a marcopoloaz06, lo que pretendo es como bien dice el titulo hacer que los campos del formulario sean obligatorios de rellenar.

La verdad que he estado mirando algunos que hay prefabricados y nose al no tener mucha idea no me funcionan.

¿Sabeis de algo o alguna recomendacion?

Gracias
  #5 (permalink)  
Antiguo 21/11/2007, 08:06
Avatar de rol2007  
Fecha de Ingreso: mayo-2007
Ubicación: Santiasco CHILE
Mensajes: 300
Antigüedad: 16 años, 11 meses
Puntos: 4
Re: Campos obligatorios en un formulario

amigo revisa el fvalidate
demo
es lo mejor que encontrado y de facil modificacion
tiene varios tipos de validacion, ya sea grupal con msje de caja o de texto etc.....exale un vistaso
cual problema avisame puesto que = me conozco el codigo, lo integre a un proyecto
__________________
Saludos
desde Chile
  #6 (permalink)  
Antiguo 21/11/2007, 13:08
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Campos obligatorios en un formulario

Si no entiendo mal, para que cuando le de al formulario enviar y me muestre un mensaje de alerta que diga no se puede enviar porque falta tal campo.

Solo he de poner este contenido en el input?

Código:
emsg="Usuario requerido"
Y quedaria asi...:

Código HTML:
<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'" emsg="Usuario requerido"/> 
Si es asi, cuando le doy a enviar lo envia de igual forma...

porque lo que se pone por ejemplo e alt="blank" que quiere decir?
  #7 (permalink)  
Antiguo 21/11/2007, 13:24
Avatar de rol2007  
Fecha de Ingreso: mayo-2007
Ubicación: Santiasco CHILE
Mensajes: 300
Antigüedad: 16 años, 11 meses
Puntos: 4
Re: Campos obligatorios en un formulario

los alt son los validadores que quieres que sea por ejemplo
alt="number|0|1|100" emsg="ingresar solo numeros del 1 a 100"

en esee caso de usuario podrias poner un alt="blank" que significaria que debe ingresar algo
y puedes mezclar luego estas funciones como por ejemplo yo mezcle una de que el valor de un input debe ser menor al de otro input y estas deberan ser numeros del 1 a 100%
__________________
Saludos
desde Chile
  #8 (permalink)  
Antiguo 21/11/2007, 13:38
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Campos obligatorios en un formulario

Pues no me sale ningun mensaje... hay que poner algo mas en el form o algo? o algun script?
  #9 (permalink)  
Antiguo 21/11/2007, 13:45
Avatar de rol2007  
Fecha de Ingreso: mayo-2007
Ubicación: Santiasco CHILE
Mensajes: 300
Antigüedad: 16 años, 11 meses
Puntos: 4
Re: Campos obligatorios en un formulario

te envie un mail al hotmail que aparece en tu perfil indicandote algunas cosas y un ejemplo..descomprimelo y dejalo en el escritorio
__________________
Saludos
desde Chile
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:20.