Foros del Web » Programando para Internet » Javascript »

Validación campo formulario array no me funciona

Estas en el tema de Validación campo formulario array no me funciona en el foro de Javascript en Foros del Web. Hola! No me funciona la validación de los campos que son un array, ¿alguien sabe por qué? Gracias @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original ...
  #1 (permalink)  
Antiguo 26/04/2012, 08:09
 
Fecha de Ingreso: julio-2010
Mensajes: 29
Antigüedad: 13 años, 9 meses
Puntos: 2
Validación campo formulario array no me funciona

Hola!
No me funciona la validación de los campos que son un array, ¿alguien sabe por qué?

Gracias



Código Javascript:
Ver original
  1. if (document.formulario.['cuota[]'].value.length==0){
  2. alert('Por favor, rellena la cuota del proyecto')
  3. document.formulario.['cuota[]'].focus()
  4. return false;

Código HTML:
<input name='cuota[]' type='text' value='' size='5' /> 
  #2 (permalink)  
Antiguo 26/04/2012, 09:06
Avatar de Dafonz  
Fecha de Ingreso: octubre-2009
Mensajes: 127
Antigüedad: 14 años, 6 meses
Puntos: 36
Respuesta: Validación campo formulario array no me funciona

para acceder a la longitud del valor del elemento es: document.formulario.elements["cuota[]"].value.length
  #3 (permalink)  
Antiguo 26/04/2012, 09:53
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Validación campo formulario array no me funciona

Agrego, también con:
Código Javascript:
Ver original
  1. var cuotas = document.getElementsByName('cuota[]');

Y luego recorrer el array()


Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <title>titulo</title>
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5. <script type="text/javascript">
  6. //<![CDATA[
  7. function xxx(){
  8. var cuotas = document.getElementsByName('cuota[]');
  9. for(var i=0;i<cuotas.length;i++){
  10. if(cuotas[i].value == ""){
  11. alert('complete todas las cuotas');
  12. }
  13. }
  14. }
  15. //]]>
  16.  
  17. </head>
  18. <form name="formulario" action="#">
  19. <input name='cuota[]' type='text' value='000' size='5' />
  20. <input name='cuota[]' type='text' value='' size='5' />
  21. <input type="button" onclick="xxx();" value="verificar" />
  22. </form>
  23.  
  24. </body>
  25. </html>

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 26/04/2012, 10:23
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Validación campo formulario array no me funciona

Hola:

Cuando usas los corchetes, el punto "anterior" debes omitirlo:

Código:
document.formulario.['cuota[]'].value.length
...

Y si realmente se trata de un array (o sea, hay más controles con el mismo nombre), debes usar el índice...


Código:
document.formulario['cuota[]'][0].value.length
...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Última edición por caricatos; 26/04/2012 a las 10:26 Razón: ortografía
  #5 (permalink)  
Antiguo 26/04/2012, 12:15
 
Fecha de Ingreso: julio-2010
Mensajes: 29
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: Validación campo formulario array no me funciona

Jo, ¡¡gracias a todos!!!

Caricatos, he probado a quitar el punto pero tampoco me funciona, sí es un array real, aunque en el ejemplo estoy usando solo uno para ver si lo hago funcionar...

Dafonz, tampoco me funciona así...
Emprear, voy a probar, si es que soy capaz...

No controlo muy bien javascript... una nota que me estaba dando cuenta es que en realidad el valor que adquiere por defecto el campo cuota[] es 0.00 es decir, que tendría:

Código HTML:
Ver original
  1. <input name='cuota[]' type='text' value='0.00' size='5' />

Pero no sé cómo tengo que decirle en el javascript que si el valor es igual a 0.00, salte el alert ¿?
  #6 (permalink)  
Antiguo 26/04/2012, 12:30
 
Fecha de Ingreso: julio-2010
Mensajes: 29
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: Validación campo formulario array no me funciona

Bieeeeen!!!
Ya funciona!!

emprear, he utilizado la mayor parte de tu código metiendolo en la función que ya tenía creada para validar, al final ha quedado así:

Código Javascript:
Ver original
  1. var cuotas = document.getElementsByName('cuota[]');
  2.         for(var i=0;i<cuotas.length;i++){
  3.             if(cuotas[i].value == "0.00"){
  4.             alert('Completa todas las cuotas de los proyectos');
  5.             return false;
  6.             }
  7.         }

Gracias a todos!!!!

Etiquetas: formulario, funcion, input, validar, campos
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 13:28.