JavaScript - problema con validaciones

 
Vista:
sin imagen de perfil

problema con validaciones

Publicado por Danilo (3 intervenciones) el 20/06/2013 23:35:04
hola tengo un formulario de contacto con este código

1
2
3
4
5
6
7
8
9
10
11
12
function validate1(form) {
 
        // Este script es un regalo para la comunidad de Programadores 
        r = 1;
        if (form.Nombre.value == "") { r = 0; alert("Por fovor, introduce tu nombre!"); form.Nombre.focus };
        if (form.Mail.value.indexOf('@', 0) == -1) { r = 0; alert("La dirección de correo no es valida"); form.Mail.focus };
        if (form.Fono.value == "") { r = 0; alert("Por favor introduce el contenido del teléfono"); form.Fono.focus };
        if (form.Mensaje.value == "") { r = 0; alert("Por favor especifica un asunto para tu mensaje"); form.Mensaje.focus };
        if (r == 0) { return false; }
        else { alert("Presione aceptar si esta seguro de enviar el mensaje"); return true; }
    }
</script>


como valida campo a campo si están vacíos en chrome luego del primer mensaje también aparece la opción "evita que esta pagina cree cuadros de dialogo adicionales", al marcar esta opción hace que puedan enviarme formularios en blanco... cómo puedo hacer para que sea uno solo el mensaje diciendo el campo que falta o algo que esta opción no afecte y no me lleguen mails sin datos?


gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

problema con validaciones

Publicado por xve (2100 intervenciones) el 21/06/2013 07:37:34
Hola Danilo, al marcar esa opción, lo que hace es que no muestra el cuadro de dialogo, pero sigue sin permitir enviar el formulario hasta que la función devuelve un true, no? no se muy bien como llamas a la función... si nos lo muestras...

De todas maneras, cualquier usuario que desactive el JavaScript te enviara el formulario.... te recomiendo desde el código PHP, .NET, o el que estés utilizando para guardar los datos, que lo revises ahí también... incluso con javascript activado hay maneras de modificar los valores que valida el formulario una vez pasado por la validación del javascript.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

problema con validaciones

Publicado por Danilo (3 intervenciones) el 21/06/2013 14:38:34
pero cómo puedo hacer para que se muestre solo un mensaje con todos los campos que faltan y no uno por cada campo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

problema con validaciones

Publicado por xve (2100 intervenciones) el 21/06/2013 14:58:28
Te recomiendo no mostrar un alert() de javascript... si en esta pagina, por ejemplo, vas a añadir una nueva nota al foro y pulsas enviar sin rellenar nada, veras como te muestra los errores.... es una muy buena manera.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema con validaciones

Publicado por Alexis Ochoa (1 intervención) el 23/06/2013 17:22:33
Saludos Danilo,

Si la idea de xve no te gusta y quieres mantener el código que tienes hecho, lo único que tienes que hacer es agregar unos cuantos "else" a tu código:

1
2
3
4
5
6
7
8
9
10
11
function validate1(form) {
 
        // Este script es un regalo para la comunidad de Programadores 
        r = 1;
        if (form.Nombre.value == "") { r = 0; alert("Por fovor, introduce tu nombre!"); form.Nombre.focus; }
        else if (form.Mail.value.indexOf('@', 0) == -1) { r = 0; alert("La dirección de correo no es valida"); form.Mail.focus; }
        else if (form.Fono.value == "") { r = 0; alert("Por favor introduce el contenido del teléfono"); form.Fono.focus; }
        else if (form.Mensaje.value == "") { r = 0; alert("Por favor especifica un asunto para tu mensaje"); form.Mensaje.focus; }
        if (r == 0) { return false; }
        else { alert("Presione aceptar si esta seguro de enviar el mensaje"); return true; }
    }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar