Foros del Web » Programando para Internet » Javascript »

Como manejo arreglos de campos dinamicos? es un gran desafio...-.

Estas en el tema de Como manejo arreglos de campos dinamicos? es un gran desafio...-. en el foro de Javascript en Foros del Web. hola: necesito ayuda sobre lo siguiente: resulta que yo rescato registros de una BD y los voy dibujando en pantalla en campos input select y ...
  #1 (permalink)  
Antiguo 21/10/2003, 11:13
 
Fecha de Ingreso: octubre-2003
Mensajes: 2
Antigüedad: 20 años, 6 meses
Puntos: 0
Como manejo arreglos de campos dinamicos? es un gran desafio...-.

hola:

necesito ayuda sobre lo siguiente:

resulta que yo rescato registros de una BD y los voy dibujando en pantalla en campos input select y demases para que el usuario los pueda modificar y volver a ingresar. Si son 10 registros, 10 veces dibuja los campos para un mismo formulario.
es decir, cada campo se transforma automaticamente en un arreglo de 10 posisiciones o mejor dicho de "n" posiciones.
Si son 4 personas y cada una tiene asociada 10 campos . esto se transforma en una matriz de 4 por 10.

como hago referencia a un campo en particular dinamicamente con la propiedad elements de los formularios????

lo que tengo es un contador de registros pero no se como acesarlos

que puedo hacer?????
  #2 (permalink)  
Antiguo 21/10/2003, 11:31
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Siendo personas p, el número de campos por persona n y el número de campo elegido c:

(n*(p-1)+c)-1

Se podría hacer una matriz con los nombres de los campos de forma dinámica y así sacar el número del elemento en caso de que no se pudiera sacar de otra forma... ¿qué nombre tendrían los campos? o mejor describe un poco mejor la situación...

__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 21/10/2003, 12:53
 
Fecha de Ingreso: octubre-2003
Mensajes: 2
Antigüedad: 20 años, 6 meses
Puntos: 0
ok gracias por responder.
procedo a explicar mejor la situacion:

necesito hacer una página que se dibuje dinamicamente.
primero debo rescatar los campos (nombre direccion, sueldo, etc) de una BD por cada persona que cumpla ciertos requisitos (esto seria la consulta a la base de datos). A medida que voy rescatando debo ir mostrando por pantalla estos datos y dejarlos en campos que puedan ser modificables.
ejemplo:

1º paso: hacer la consulta al servidor
2º paso: declarar el formulario que reciba y de la opcion de modificar los datos
3º paso: mientras no queden registros, hacer lo sgte:
rescatar los datos de la Bd
asignarlos a los campos correspondientes
(input, select, etc)
y por cada campo definir eventos
( on blur, on focus, etc)
leer el siguiente registro.
4º paso: terminar de declarar el form

el probema se presenta aqui pues para hacer referencia a un campo debo saber cual es y de que persona es ( en javascript).
No se si ocupar elements o que propiedad para accesarlos

ojala hallas entendido mi duda
  #4 (permalink)  
Antiguo 22/10/2003, 04:49
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Lo que comentas me quedó claro desde el principio. Pero a la hora de generar los campos ¿qué nombre les das? Todos forman parte de un mismo formulario ¿no?

tú quieres recorrer todos los campos? con document.forms[0].elements.length sabes todos los campos que tendría tu maxiformulario. Y si sabes el número de campos por persona y el número de personas es muy fácil por una reglita saber en qué campo estás...

Si los campos por persona son 3 y las personas 5, por ejemplo...


Código PHP:
<html>
<
head>
    <
title>Untitled</title>
    <
script>
    
elementosPorPersona=3;
    
    function 
saber(esto){

    for(
a=0;a<document.forms[0].elements.length;a++){
    if(
document.forms[0].elements[a].name==esto.name){numero=a;break}
    }
    
numero+=1;
    
persona=parseInt((numero)/elementosPorPersona)+1;
    
campo=numero%elementosPorPersona;
    if(
campo==0){campo=elementosPorPersona;persona-=1;}
    
alert("Ha pinchado en el campo número "+campo+"\n de la persona número "+persona)
    }
    
</script>
</head>

<body>
<form name="pepe">
<table>
<tr>
<td>Nombre:</td><td><input name="a1" onclick="saber(this)"></td></tr>
<tr><td>Edad:</td><td><input name="a2" onclick="saber(this)"></td></tr>
<tr><td>Nacionalidad:</td><td><input name="a3" onclick="saber(this)"></td></tr>
<tr>
<td>Nombre:</td><td><input name="a4" onclick="saber(this)"></td></tr>
<tr><td>Edad:</td><td><input name="a5" onclick="saber(this)"></td></tr>
<tr><td>Nacionalidad:</td><td><input name="a6" onclick="saber(this)"></td></tr>
<tr>
<td>Nombre:</td><td><input name="a7" onclick="saber(this)"></td></tr>
<tr><td>Edad:</td><td><input name="a8" onclick="saber(this)"></td></tr>
<tr><td>Nacionalidad:</td><td><input name="a9" onclick="saber(this)"></td></tr>
<tr>
<td>Nombre:</td><td><input name="a10" onclick="saber(this)"></td></tr>
<tr><td>Edad:</td><td><input name="a11" onclick="saber(this)"></td></tr>
<tr><td>Nacionalidad:</td><td><input name="a12" onclick="saber(this)"></td></tr>
<tr>
<td>Nombre:</td><td><input name="a13" onclick="saber(this)"></td></tr>
<tr><td>Edad:</td><td><input name="a14" onclick="saber(this)"></td></tr>
<tr><td>Nacionalidad:</td><td><input name="a15" onclick="saber(this)"></td></tr>

</table>
 
</form>


</body>
</html> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
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 22:49.