Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/12/2004, 05:37
roseambar
 
Fecha de Ingreso: marzo-2003
Mensajes: 48
Antigüedad: 22 años, 1 mes
Puntos: 0
Recogida datos formulario con for each

Hola:

Estoy recogiendo los datos de un formulario cuyos campos se forman de forma dinamica de acuerdo a los datos que tomo de una tabla, hay datos que ya conozco, los muestro y los paso en campos tipo hidden y otros que tiene que introducir el cliente.

Otras veces he utilizado un for each para recuperar los datos y guardarlos en un array de la forma:

i=0
for each campo in request.form
if campo <> enviar then
caracteristica(i)=campo
valor(i)=request.form(campo)
i=i+1
end if
next

Esto funciona perfectamente si el el formulario tiene una estructura:
nombre:<input type=text name="nombre">
(o en una tabla con dos columnas)

Pero si el formulario tiene por ejemplo una estructura como la siguiente:

<form action="datos.asp" method="post">
<table>
<tr>
<td class="textob1">&nbsp;Referencia</td>
<td class="textob1">&nbsp;Art&iacute;culo</td>
<td class="textob1">&nbsp;Precio (&euro;)</td>
<td class="textob1">&nbsp;Cantidad</td>
<td class="textob1">&nbsp;% Dto.</td>
</tr>

<tr>
<td class="texto1">&nbsp;29198 <input type="hidden" name="ref0" value="29198" ></td>
<td class="texto1">&nbsp;Camisa<input type="hidden" name="articulo0" value="Falda ></td>
<td class="texto1">&nbsp;15<input type="hidden" name="precio0" ></td>
<td class="texto1">&nbsp;<input type="text" name="cantidad0" size="6" ></td>
<td class="texto1">&nbsp;<input type="text" name="dto0" size="6" ></td>
</tr>

<tr>
<td class="texto1">&nbsp;18719 <input type="hidden" name="ref1" value="18719" ></td>
<td class="texto1">&nbsp;GORRA <input type="hidden" name="articulo1" value="GORRA"></td>
<td class="texto1">&nbsp;5,98<input type="hidden" name="precio1" ></td>
<td class="texto1">&nbsp;<input type="text" name="cantidad1" size="6" ></td>
<td class="texto1">&nbsp;<input type="text" name="dto1" size="6" ></td>
</tr>
<tr>
<td colspan="5" align="center">&nbsp; <input type="submit" name="enviar" value="Enviar" class="boton">
<input type="hidden" name="parte" value="2"></td>
</tr>
</table>
</form>

Los campos los recoge pero sin guardar un orden predefinido. He probado con tabindex y sin ellos. Sin lograr el resultado deseado.

Alguien sabe como solucionar el problema para que en los array exista un orden siempre fijo para el nombre de los campos y sus respectivos valores.

Saludos