JavaScript - A vueltas con las validaciones de JS

   
Vista:

A vueltas con las validaciones de JS

Publicado por Victor (13 intervenciones) el 07/01/2014 23:47:01
Buenas,
Ya sé que de esto se habló una vez y se me quedó corregido y genial pero al hacer otro formulario distinto me vuelve a dar problemas. Por mucho que comparo unos con otros, no veo el fallo.

Se supone que el formulario valida y muestra los errores. A medida que se van corrigiendo, va desapareciendo el mensaje de error...pero ¿por qué no consigo que ese efecto suceda en el primer campo si tiene el código exactamente igual que los otros? que me estoy dejando?
gracias de antemano
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Creación de producto</title>
 <link href="estilos.css" rel="stylesheet" type="text/css" media="screen" />
<script>
function enviar()
{
    var product = document.getElementById("producto").value;
    var cant = document.getElementById("cantidad").value;
    var prueba = document.getElementById("prueba").value;
    var notes = document.getElementById("notas").value;
    var error=false;
    if (product==null || product == "")
    {
        error=true;
        document.getElementById("error1").style.visibility = 'visible';
    }else{
        document.getElementById("error1").style.visibility = 'hidden';
    }
 
    if (cant==null || cant == "")
    {
        error=true;
        document.getElementById("error2").style.visibility = 'visible';
    }else{
        document.getElementById("error2").style.visibility = 'hidden';
    }
 
    if (prueba==null || prueba == "")
    {
        error=true;
        document.getElementById("error5").style.visibility = 'visible';
    }else{
        document.getElementById("error5").style.visibility = 'hidden';
    }
 
    if (notes==null || notes == "")
    {
        error=true;
        document.getElementById("error3").style.visibility = 'visible';
    }else{
        document.getElementById("error3").style.visibility = 'hidden';
    }
 
    if(error==true)
    {
        return false;
    }
  }
</script>
</head>
 
<body>
<h1 class="titular">Añadir producto</h1>
<form class="formulario" id="producto" action="resultado.php" method="post" onsubmit="return enviar(this)">
<fieldset>
<legend>*Campos obligatorios</legend>
<div>
 
<label for="producto">Producto a ingresar:</label>
<input text id="producto" name="producto"><p id="error1" style="visibility:hidden">No has escrito nombre del producto</p><br />
 
<label for="cantidad">Número de unidades:</label>
<input text id="cantidad" name="cantidad"><p id="error2" style="visibility:hidden">No has escrito el número de unidades</p><br />
 
<label for="prueba">Valor de prueba:</label>
<input text id="prueba" name="prueba"><p id="error5" style="visibility:hidden">No has escrito el número de unidades</p><br />
 
<label for="delegacion">Delegación en el que se ingresará</label><br />
<select name="delegacion" id="delegacion" size="1" multiple>
<option value="1">Selecciona la oficina</option>
<option value="2">Madrid</option>
<option value="3">Barcelona</option>
<option value="4">Sevilla</option>
<option value="4">Toledo</option>
<option value="4">Valencia</option>
</select><br />
 
<label for="descripcion">Información adicional:</label>
<input textarea cols="30" rows="10" id="notas" name="notas"><p id="error3" style="visibility:hidden">Debes añadir la información adicional</p><br />
<input type="submit" value="Enviar" />
<input type="reset" value="Borrar" />
</legend>
</form>
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

A vueltas con las validaciones de JS

Publicado por xve (1594 intervenciones) el 08/01/2014 07:33:04
Hola Victor, esto es porque tienes repetido el id="producto"... en tu código hay dos, y en teoria no deberían haber dos id's con el mismo nombre.

Coméntanos, ok?
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

A vueltas con las validaciones de JS

Publicado por Victor (13 intervenciones) el 08/01/2014 21:39:52
No me puedo creer que sea tan...
Me obcequé con que el error estaba en los input o en la función de validación y la había cagado desde el principio asignando un id equivocado...Una hora dando vueltas y volviéndome loco.

Gracias por salvarme una vez más
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

A vueltas con las validaciones de JS

Publicado por xve (1594 intervenciones) el 09/01/2014 08:42:52
jejejeje esto nos pasa a todos... muchas veces es mejor dejarlo durante un rato y luego al volverte a poner lo ves muy rápido.
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