JavaScript - Validación de formulario B

 
Vista:

Validación de formulario B

Publicado por Luis (1 intervención) el 09/02/2013 08:30:27
Buenos días

Soy nuevo diseñanado páginas web.

He creado un formulario para la página de una amiga y el problema es que tengo que incorporar una casilla de verificación por el tema de la protección de datos, en el que no permita enviar el formulario, si el usuario no pincha la validación como que está de acuerdo con las condiciones.

El problema es, que aunque no se pinche, el formulario se envía igualmente y no sé como arreglarlo.

Os envío el formulario, por si alguien me pudiera ayudar.
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
<form action="enviar formulario trabaja con nosotros.php" method="post" enctype="multipart/form-data" name="formulario trabaja con nosotros" id="formulario trabaja con nosotros" onsubmit="MM_validateForm('nombre','','R','apellidos','','R','telefono','','RisNum','email','','RisEmail','comentarios','','R');return document.MM_returnValue">
        <table width="58%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#003300">
          <tr valign="middle">
            <td width="32%" height="30" class="iniciotexto" scope="row"><div align="right" class="Estilo11">
                <div align="right"><span class="iniciotexto">Nombre</span> :</div>
            </div></td>
          <th width="68%" height="30" scope="row"> <label>
                <div align="right">(*)
                  <input name="nombre" type="text" id="nombre" onblur="MM_validateForm('telefono','','NisNum','email','','NisEmail');return document.MM_returnValue" size="50" />
                </div>
              </label></th>
          </tr>
          <tr valign="middle">
            <td height="30" class="iniciotexto" scope="row"><div align="right" class="Estilo11">
                <div align="right" class="iniciotexto">Apellidos :</div>
            </div></td>
          <th height="30" scope="row"> <label>
                <div align="right">(*)
                  <input name="apellidos" type="text" id="apellidos" size="50" />
                </div>
              </label></th>
          </tr>
          <tr valign="middle">
            <td height="30" class="iniciotexto" scope="row"><div align="right" class="iniciotexto">Teléfono de contacto :</div></td>
          <th height="30" scope="row"><label>
                <div align="right">(*)
                  <input name="telefono" type="text" id="telefono" size="50" maxlength="13" />
                </div>
              </label></th>
          </tr>
          <tr valign="middle">
            <td height="30" class="iniciotexto" scope="row"><div align="right" class="iniciotexto">E-mail :</div></td>
          <th height="30" scope="row"><label>
                <div align="right">(*)
                  <input name="email" type="text" id="email" size="50" />
                </div>
              </label></th>
          </tr>
          <tr>
            <td valign="top" class="iniciotexto" scope="row"><div align="right" class="iniciotexto">Comentarios :</div></td>
          <th scope="row"> <label>
                <div align="right">(*)
                  <textarea name="comentarios" id="comentarios" cols="39" rows="5"></textarea>
                </div>
              </label></th>
          </tr>
          <tr>
            <td height="62" scope="row"><div align="right"><span class="Estilo10"><span class="Estilo4"></span></span>
                    <label></label>
            </div></td>
            <th align="center" valign="middle" scope="row"><table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <th width="33%" scope="row"><label>
                    <input type="submit" name="Enviar" id="Enviar" value="Enviar" />
                  </label></th>
                  <td width="67%"><label>
                    <input type="reset" name="Borrar" id="Borrar" value="Borrar" />
                  </label></td>
                </tr>
            </table>
              <table width="100%" border="0">
                <tr>
                  <td height="23" align="center" valign="middle" class="titulosgrandes">(*) Necesario rellenar para enviar formulario</td>
                </tr>
                <tr>
                  <td height="34" align="center" valign="middle" class="titulosgrandes"><span id="sprycheckbox1">
                    <label>
                      <input type="checkbox" name="checkbox1" id="checkbox1" />
                    </label>
                  <span class="checkboxRequiredMsg"></span></span> El ususario reconoce haber leído  y acepta la <a href="política_de_Protección_de_Datos.html">política de Protección de  Datos</a></td>
                </tr>
              </table>
              <span id="necesario"><br />
            </span></th>
          </tr>
        </table>
      </form>


Muchas gracias por todo

un saludo

Luis
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

Validación de formulario B

Publicado por Jose Manuel (15 intervenciones) el 10/02/2013 08:35:34
Hola:

Básicamente, se trata de controlar el evento onsubmit del formulario y la propiedad checked del checkbox que nos interesa. Hay unas direcciones en las que me gusta como está explicado:

http://www.yourhtmlsource.com/javascript/formvalidation.html
http://www.forosdelweb.com/f13/validar-checkbox-antes-enviar-755544/
http://www.bloogie.es/tecnologia/programacion/460-validacion-de-formularios-y-email-con-javascript
http://www.bloogie.es/tecnologia/programacion/437-comprobar-si-un-checkbox-o-input-radio-esta-seleccionado-con-javascript

Un saludo,

José Manuel
================================
http://www.orbisapientia.com
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

Validación de formulario B

Publicado por Steve (1 intervención) el 20/02/2013 18:05:18
Hola Luis, acabo de ver que en tu código tienes la propiedad onSubmit de esta forma
1
onSubmit="funcion(parametros)"

Yo siempre que escribo un evento onSubmit siempre lo hago de esta forma
1
onSubmit="return funcion()"

ya que si no le pongo el return siempre se va al archivo del action, la función tiene que regresar un false en el caso de que el formulario no este adecuada mente escrito o no ha sido completado y un true cuando todos los datos estas correctamente llenados, perdona por ser tan especifico igual ya sabes todo esto.
Y veo que que en tu función de validación tienes mucho atributos no se si los atributos que mandas en la función son los campos del formulario, yo nunca mando nada a la función por lo genera lo dejo en blanco a menos que quiera darle una función extra y todos los campos siempre los agarro desde la función Javascript se pueden tomar por nombre o id, muchos campos no son reconocibles por nombre y en ocasiones se tienen que tomar por id
Oye no se si usas los parámetros por eso de la casilla de verificación, también nos ayudaría mucho ver el código javascript de tu función.
Y te recomendaría usar alguna herramienta para depurar los errores en código javascript yo uso el mozilla firefox te vas al menú de mozilla - desarrollador web - consola errores y te muestra lo errores del código javascript de tu pagina ya que de otra forma es realmente difícil y desesperante encontrar todos estos errores.

Saludos.
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