Foros del Web » Programando para Internet » Javascript »

Obener los id's de elementos en una tabla dinamica

Estas en el tema de Obener los id's de elementos en una tabla dinamica en el foro de Javascript en Foros del Web. Holas a tod@s, Como puedo obtener los id's de los elementos que están incluidos dentro de una tabla? Me explico: en el script: Código PHP: ...
  #1 (permalink)  
Antiguo 03/11/2011, 10:23
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 10 meses
Puntos: 8
Pregunta Obener los id's de elementos en una tabla dinamica

Holas a tod@s,

Como puedo obtener los id's de los elementos que están incluidos dentro de una tabla? Me explico: en el script:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
  <
head>
  </
head>

  <
body class="clasebody">
    <
table width="100%" height="100%" border="1" cellspacing="0" cellpadding="0">
      <
table border="0" cellspacing="0" cellpadding="0">  
        <
form id="forma1" name="forma1" method="post">
          <
table id="formulario" border="0" cellspacing="4" cellpadding="0">  
              <
tr>
                <
td class="clasetd">Grupos de Columnas:
                </
td>
                <
td>
                  <
input type="text" id="grupos" name="grupos" value="" class="claseinput" style="width:30px;">
                </
td>
                <
td class="clasetd">NroColumnas:
                </
td>
                <
td>
                  <
input type="text" id="cols" name="cols" value="" class="claseinput" style="width:30px;" onChange="javascript: crearFilas();">
                </
td>
              </
tr>
          </
table>



<!-- 
En esta parte (<table id="reporte"... >) debe ir lo que se ha creado mediante document.createElemet() -->
          <
table id="reporte" name="reporte">
          </
table>



          <
table>
            <
tr>
              <
input type="button" value="Grabar" id="graba" name="accion" onClick="fDatos('reporte','grabar');" style="background-color: #738EB5; height: 18; font-size: 8 pt; font-weight: bold; color: ffffff; border-style: solid; border-width: 1">
            </
tr>
          </
table>
        </
form>
      </
table>
    </
table>
  </
body>
</
html
Dentro de <table id="reporte" name="reporte"> va incluido una serie de elementos como inputs, selects, textareas, etc. creados con document.createElement(); algo como

Código PHP:
.
.
.
   
0;
   
1;
   
largo = ((140*cols)+(3*cols));
   for (
i=0;i<grups;i++) {
       
idnameg="grp"+k+"_0";
       
nuevoTD document.createElement("td");
            
nuevoTD.setAttribute("colspan"cols);
       
tbl.appendChild(nuevoTD);

       
input document.createElement("input");
            
input.setAttribute("type""text");
            
input.setAttribute("id"idnameg);
            
input.setAttribute("name"idnameg);
            
input.setAttribute("value""Titulo Grupo "+k);
            
input.setAttribute("class""claseinput");
            
estilo "text-align:center; width:"+largo+"px; color:blue;";
            
input.setAttribute("style"estilo);
            
input.setAttribute("onChange""verificaInput('"+idnameg+"');");
       
nuevoTD.appendChild(input);
       
tbl.appendChild(nuevoTD);
       
k++;
   }
   
tbl.appendChild(tr);
.
.

Debido a que la cantidad de elementos es variable y los id's creados igualmente son dinámicos o variables, como se quiera, en el momento de enviar los datos al servidor se necesita armar un queryString con los respectivos datos que van en esta parte el form

Entonces, como puedo obtener los id's de los elementos de la tabla reporte contenida en la forma forma1?

Gracias de antemano por su ayuda

Un Cordial Saludo

Última edición por augusto_jaramil; 03/11/2011 a las 10:25 Razón: Cambio titulo
  #2 (permalink)  
Antiguo 03/11/2011, 14:04
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Obener los id's de elementos en una tabla dinamica

Cita:
input.setAttribute("id", idnameg);
input.setAttribute("name", idnameg);
  • las id han de ser unicas
  • al name añadele [] al final, para que sea una colección de elementos
  • tanto el name como la id has de entrecomillarlos

para recorrer todos esos elementos
Cita:
document.forms[0].elements.lenght
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Última edición por IsaBelM; 03/11/2011 a las 14:25
  #3 (permalink)  
Antiguo 03/11/2011, 14:19
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 10 meses
Puntos: 8
Respuesta: Obener los id's de elementos en una tabla dinamica

Hola IsaBelM, ya lo habia intentado...

al hacer alert(document.forms[0].elements.lenght aparece undefined
  #4 (permalink)  
Antiguo 03/11/2011, 14:26
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Obener los id's de elementos en una tabla dinamica

en la lista me falto otro de los errores que tienes. ya esta editada
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 03/11/2011, 14:37
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 10 meses
Puntos: 8
Respuesta: Obener los id's de elementos en una tabla dinamica

Que pena con vos.... Me podes decir el error que tengo? Gracias
  #6 (permalink)  
Antiguo 03/11/2011, 15:08
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Obener los id's de elementos en una tabla dinamica

tanto el name como la id ha de entrecomillarlos
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #7 (permalink)  
Antiguo 04/11/2011, 10:41
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 10 meses
Puntos: 8
Respuesta: Obener los id's de elementos en una tabla dinamica

Hola de nuevo IsaBelM,

Lo que sucede es que idnameg e idnamec estan definidas como idnameg="grp"+k+"_0"; , igual que idnamec, es decir, son variables javascript]

Ahora, los id's asi como los tengo definidos me indican que estan bien definidos ya que al hacer alert(document.getElementById('grp1_0').value y asi con cualquier otro elemento me devuelve el valor correcto.

Cuando hago
Código PHP:
ff document.forma1;
for(
a=0a<=ff.elements.lengtha++)
{
       if(
ff.elements[a].type=='text')
                        {       
                             
alert(ff.elements[a].id)
                        }

Devuelve solo los id's de la tabla formulario y los de la tabla reporte no la ve
  #8 (permalink)  
Antiguo 04/11/2011, 14:36
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Obener los id's de elementos en una tabla dinamica

dejando a un lado la estructura del html que ya tienes y el que se generará. has de modificar varias cosas
  • cambia esto ff = document.forma1; por esto ff = document.forma1.elements;
  • parece que también tendrás que colocar el formulario al principio del árbol
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Etiquetas: dinamica, formulario, html, tabla
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:55.