Foros del Web » Programando para Internet » Javascript »

¿Como repetir un <TR> aquí?

Estas en el tema de ¿Como repetir un <TR> aquí? en el foro de Javascript en Foros del Web. Wenas a todos, tengo una consulta sobre lo siguiente: Tengo la sgte. función que me repite el número de campos del número de serie (serie ...
  #1 (permalink)  
Antiguo 08/05/2004, 21:04
 
Fecha de Ingreso: enero-2004
Ubicación: Santiago
Mensajes: 127
Antigüedad: 20 años, 10 meses
Puntos: 0
¿Como repetir un <TR> aquí?

Wenas a todos, tengo una consulta sobre lo siguiente:

Tengo la sgte. función que me repite el número de campos del número de serie (serie de partes y piezas de PC, obviamente cada elemento tiene su Nº de serie) dependiendo del número de elementos que se desea sacar de un inventario (accionado por el onBlur del campo cant en el bloque HTML).

------- Bloque HTML -----------
<TABLE>
<TR>
<TD><INPUT NAME="cant" TYPE="text" onBlur="AddSerial(this.value);">
</TD>
</TR>

<TR>
<TD>
<DIV ID="Series0"></DIV>
</TD>
</TR>
Aquí deseo mi <TR> repetido, junto con el campo serials[] dentro.
</TABLE>

---- Función JavaScript a continuación del <TR> estático anterior --------

function AddSerial(cant) {

for (i=0; i < cant; i++) {
document.getElementById("Series"+i).innerHTML = '<INPUT NAME="serials[]" TYPE="text"><DIV ID="Series'+(i+1)+'"></DIV> ';
}

}

La funcion en si funciona bien al momento de querer repetir el campo, pero deseo que lo haga repitiendolo dentro de una etiqueta <TR> para mantener el formato de la tabla contenedora, pero cuando lo hago no lo realiza, tampoco me aparece ningún tipo de error Javascript.
En teoria, para que el script agregue el campo citado en la funcion (el serials[]), debo situar la etiqueta <DIV> del bloque HTML (destacado en rojo) en el lugar que quiero que aparezca el campo repetido; al mismo tiempo debo cambiar la misma que aparece en la función (azul en la misma) para seguir el orden de agregamiento según el bloque HTML. En el mismo bloque HTML señalado, si agrego este <DIV> dentro de unas <TD></TD> no hay ningún problema, pero si lo hago fuera de estas o al final de otra <TR> no funciona (añadiendole al campo de la funcion las correspondientes <TR><TD>campo_de_la_funcion </TD></TR>).

Resumiendo, según la ubicación de <DIV> en el HTML es dónde aparecerá el campo repetido de la función; por ende, la función debe seguir ese órden.


Espero no sea muy complicada mi explicación, si no se comprende trataré de mejorarla.

Gracias

Última edición por HiperJP; 08/05/2004 a las 21:20
  #2 (permalink)  
Antiguo 09/05/2004, 03:33
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Hola, HiperJP.

No se si he entendido bien tu mensaje, así que te no se si la respuesta será adecuada. Pon la tabla así:

<table id="tabla">
<tr>
...

Y la función de esta otra forma:

function AddSerial(cant) {
Código PHP:
function AddSerial(cant) {
txt=document.getElementById('tabla').innerHTML;
for (
i=0canti++) {
txt += '<tr><td><INPUT NAME="serials[]" TYPE="text"><DIV ID="Series'+(i+1)+'"></DIV></tr></td> ';
}
document.getElementById('tabla').innerHTML=txt;

Suerte. Saludos,

Última edición por JavierB; 09/05/2004 a las 03:34
  #3 (permalink)  
Antiguo 09/05/2004, 21:24
 
Fecha de Ingreso: enero-2004
Ubicación: Santiago
Mensajes: 127
Antigüedad: 20 años, 10 meses
Puntos: 0
No me funciona

Me aparece: "Error en tiempo de ejecución desconocido".

Lo único que necesito es repetir un <TR> con algo dentro dependiendo del número que coloque en el campo anterior (el campo cant).

Gracias por tu tiempo de todas maneras
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 18:43.