Foros del Web » Programando para Internet » Javascript »

ayuda con tamaño o catidad de arreglo

Estas en el tema de ayuda con tamaño o catidad de arreglo en el foro de Javascript en Foros del Web. Hola tengo el siguiente script Código HTML: <html> <body> <form> <table id= "1" > <tr> <td> Item 1. <input type= "hidden" value= "1" name= "itemc[1]" ...
  #1 (permalink)  
Antiguo 17/11/2007, 06:31
 
Fecha de Ingreso: agosto-2004
Ubicación: Lima
Mensajes: 109
Antigüedad: 19 años, 8 meses
Puntos: 1
Pregunta ayuda con tamaño o catidad de arreglo

Hola tengo el siguiente script
Código HTML:
<html>
<body>
<form>
<table id="1">
<tr>
<td>Item 1. <input type="hidden" value="1" name="itemc[1]"/><br/>
    cantidad 2 <input type="text"  name="cant[1]"/>
</td>

</table>
<table id="2">
<tr>
<td>Item 2 <input type="hidden" value="2" name="itemc[2]"/><br/>
    cantidad 2 cantidad <input type="text"  name="cant[2]"/>
</td>
</tr>

</table>
</table>
<table id="3">
<tr>
<td>Item 3 <input type="hidden" value="3" name="itemc[3]"/><br/>
    cantidad 3 cantidad <input type="text"  name="cant[3]"/>
</td>
</tr>

</table>

<div>
<label><input type="button" onblur="validar()" value="Enviar"/>
</label>
</div>
</form>
</body>
</html> 
se generan dinamicamente lo quiero es saber como obtener el tamaño de arreglo para poder hacer las validaciones muchas gracias.
  #2 (permalink)  
Antiguo 18/11/2007, 01:35
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: ayuda con tamaño o catidad de arreglo

Hola:

Los controles de los formularios se reflejan en el arreglo elements

n = document.forms[0].elements.length... o también puedes directamente hacer un bucle asociativo:
for (control in formulario) alert(control + " = " + formulario[control].value)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 18/11/2007, 12:30
 
Fecha de Ingreso: agosto-2004
Ubicación: Lima
Mensajes: 109
Antigüedad: 19 años, 8 meses
Puntos: 1
Re: ayuda con tamaño o catidad de arreglo

Muchas gracias caricatos por tu ayuda como hago para poder solo realizar la validacion del input cant[x] ya que ademas tengo otros inputs text box, pero como te digo solo deseo tener la validacion de no vacio de cant[x]
Código HTML:
<html>
<body>
<form>
<table id="1">
<tr>
<td>Item 1. <input type="hidden" value="1" name="itemc[1]"/><br/>
    cantidad 1 <input type="text"  name="cant[1]"/><br/>
    Unidad 1 <input type="text"  name="unidad[1]"/>
</td>

</table>
<table id="2">
<tr>
<td>Item 2 <input type="hidden" value="2" name="itemc[2]"/><br/>
    cantidad 2 cantidad <input type="text"  name="cant[2]"/><br/>
    Unidad 2 <input type="text"  name="unidad[2]"/>
</td>
</tr>

</table>
</table>
<table id="3">
<tr>
<td>Item 3 <input type="hidden" value="3" name="itemc[3]"/><br/>
    cantidad 3 cantidad <input type="text"  name="cant[3]"/><br/>
    Unidad 3 <input type="text"  name="unidad[3]"/>
</td>
</tr>

</table>

<div>
<label><input type="button" onblur="validar()" value="Enviar"/>
</label>
</div>
</form>
</body>
</html> 
muchas gracias pòr tu ayuda.
  #4 (permalink)  
Antiguo 18/11/2007, 14:50
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: ayuda con tamaño o catidad de arreglo

Hola.

Usando el bucle asociativo sería algo así:

<form onsubmit="return validar(this)"...>

Y validar se definiría:

function validar(f) {
vale = true;
for (control in f) if (f[control].name.substr[0, 5] == "cant[")
vale = vale && f[control].value != "";
return vale;
}

Está "a capella" así que puede tener algún error (somos humanos)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 12:58.