Foros del Web » Programando para Internet » Javascript »

Formularios

Estas en el tema de Formularios en el foro de Javascript en Foros del Web. Después de varios dias probando, buscando en google, y haciendo preguntas concretas aquí, especialmente en la sección de "Web General", desisto. Hay alguien aquí con ...
  #1 (permalink)  
Antiguo 30/10/2009, 14:39
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 14 años, 7 meses
Puntos: 10
Pregunta Formularios

Después de varios dias probando, buscando en google, y haciendo preguntas concretas aquí, especialmente en la sección de "Web General", desisto. Hay alguien aquí con un par de horas libres, que este fin de semana me pueda ayudar, sea por messenger, correo electrónico, MPs o aqui mismo????

Ahora mi problema:
1. No se mucho de JavaScript, he de aprender desde cero, pero no puedo ahora mismo.
2. Tengo un script de validación en un formulario que no me funciona (bueno, tengo como 20 o 30).
3. He intentado unir y modificar los scripts que encontraba en google, pero no funcionan.

Ahora, dejo aqui el código de la pagina de pruebas, no la de mi web:

Código HTML:
<HTML>
<HEAD>
<script language="javascript">
function valida(){
    if (document.form.nombre.value == " "){
        alert("Tiene que escribir su nombre");
        document.form.nombre.focus();
        return (false); 
    }
    if (document.form.email.value == " "){
        alert("Tiene que introducir una dirección de correo electrónico.");
        document.form.email.focus();
        return (false); 
    //}else{
        //if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w(2,3,4))+$/.test(email){
        //    return true;
        //}else{
        //alert("Tiene que introducir una dirección de correo electrónico válida.")
        //return false;
        }
    }
    if (document.form.comentario.value== " "){
        alert("Tiene que escribir un comentario");
        document.form.comentario.focus();
        return (false); 
    }
}
</script>
</head>
<body>
<form name="form" id="contacto" action="doc2.htm">
Su nombre*:<br>
<input name="nombre" type="text" style="color:black" class="textonormal" id="nombre"><br>
Su e-mail*:<br>
<input name="email" type="text" style="color:black" class="textonormal" id="email"><br>
Su comentario*:<br>
<textarea name="comentario" cols="40" rows="6" style="color:black" class="textonormal" id="comentario"></textarea><br>
Enviar:<br>
<input name="boton" type="submit" style="color:black" class="textonormal" id="boton" value="Enviar" onClick="valida ()">
</form>
</body>
</html> 

(Las líneas de comentario, son líneas desactivadas para pruebas. El "doc2.htm", es un archivo que ponía solo "Todo correcto", y se suponía que no debía llegar hasta él hasta que el formulario esté completo. Muchas gracias por su atención
  #2 (permalink)  
Antiguo 30/10/2009, 14:50
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 4 meses
Puntos: 57
Respuesta: Formularios

2 Cosas:
  • En tu codigo estas verificando que los campos no sean igual a un espacio:

    Código:
    if (document.form.nombre.value == " ")
    
    Asi es como lo quieres? Porque tambien deberias verificar que el valor del campo no este vacio:

    Código:
    if (document.form.nombre.value == " " || document.form.nombre.value == "")
    
  • En el boton submit, en el que mandas llamar la funcion valida() debes regresar el valor que te regresa la funcion:

    Código:
    ...
    <input name="boton" type="submit" style="color:black" class="textonormal" id="boton" value="Enviar" onSubmit="return valida()">
    ...
    
  #3 (permalink)  
Antiguo 30/10/2009, 15:00
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 14 años, 7 meses
Puntos: 10
Respuesta: Formularios

Cita:
Iniciado por posman Ver Mensaje
2 Cosas:
  • En tu codigo estas verificando que los campos no sean igual a un espacio:

    Código:
    if (document.form.nombre.value == " ")
    
    Asi es como lo quieres? Porque tambien deberias verificar que el valor del campo no este vacio:

    Código:
    if (document.form.nombre.value == " " || document.form.nombre.value == "")
    
  • En el boton submit, en el que mandas llamar la funcion valida() debes regresar el valor que te regresa la funcion:

    Código:
    ...
    <input name="boton" type="submit" style="color:black" class="textonormal" id="boton" value="Enviar" onSubmit="return valida()">
    ...
    

1. Eso era una de las pruebas. También he probado con document. form. nombre. value. lenght == 0
2. Esa parte, o no me he fijado, o no la he visto en ninguna parte (lo más probable es lo primero)

Aun poniendo el return, y los 0 en lugar de espacios, falla

Muchas gracias

Última edición por markmb; 30/10/2009 a las 15:05
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 08:50.