Foros del Web » Programando para Internet » PHP »

problema con getElementsByName(no se ve en explorer)

Estas en el tema de problema con getElementsByName(no se ve en explorer) en el foro de PHP en Foros del Web. Cita: function desactivaBotonCiclo($sSelectId,$tamano){ for($i=0;$i<$tamano;$i=$i+1) { $this->script("document.getElementsByName('".$sSelectId. "')[$i].style.display='none'"); } } y la llamo asi: Cita: $objResponse->desactivaBotonCiclo('eliminardetalle',$num_rows ); donde: Cita: $num_rows = resultado de una consulta sql ...
  #1 (permalink)  
Antiguo 02/06/2011, 08:27
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
problema con getElementsByName(no se ve en explorer)

Cita:

function desactivaBotonCiclo($sSelectId,$tamano){

for($i=0;$i<$tamano;$i=$i+1)
{
$this->script("document.getElementsByName('".$sSelectId. "')[$i].style.display='none'");
}
}
y la llamo asi:
Cita:
$objResponse->desactivaBotonCiclo('eliminardetalle',$num_rows );
donde:
Cita:
$num_rows = resultado de una consulta sql
y
'eliminardetalle'=
<b name='eliminardetalle>auto</b>
<b name='eliminardetalle>auto2</b>
<b name='eliminardetalle>auto3</b>
<b name='eliminardetalle>auto4</b>
en mozilla me lo hace perfectamente pero en explorer no
quise utilizar el getElementsByTagName pero me fue dificil y no salio el resultado deseado
alguna otra solucion o una estrategia con getElementsByTagName o getElementsByName???

gracias de antemano
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #2 (permalink)  
Antiguo 02/06/2011, 08:38
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: problema con getElementsByName(no se ve en explorer)

intenta con la id del elemento, no con el nombre

getElementById();
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #3 (permalink)  
Antiguo 02/06/2011, 09:32
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: problema con getElementsByName(no se ve en explorer)

si ya lo intente incialmente pero solo oculta el primer elemento utilice getelementbyname puesto q este los guarda en arrays y por id solo selecciona uno , necesito q le aplique el ocultamiento a todos los que compartan el mismo nombre , te repito en firefox lo cumple perfectamente pero en explorer no
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #4 (permalink)  
Antiguo 02/06/2011, 09:42
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: problema con getElementsByName(no se ve en explorer)

eso es por que debes poner nombres de id distintos, en nignun lenguaje es correcto que hayan 2 id iguales, o sea:

<b name='eliminardetalle id='ed1'>auto</b>
<b name='eliminardetalle id='ed2'>auto2</b>
<b name='eliminardetalle id='ed3'>auto3</b>
<b name='eliminardetalle id='ed4'>auto4</b>

haciendo esto solo necesitas redefinir tu funcion:

Código PHP:
Ver original
  1. for($i=0;$i<$tamano;$i=$i+1)
  2. {
  3. $this->script("document.getElementsById('ed".$sSelectId. "').style.display='none'");
  4. }

donde $sSelectId es el numero (de 1 a 4)

document.getElementsById('ed1').style.display='non e'

hará que desaparezca el primer <b>

lamentablemente es la única forma en que te va a funcionar en IExplorer (y Opera).
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #5 (permalink)  
Antiguo 02/06/2011, 10:18
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: problema con getElementsByName(no se ve en explorer)

veo q es un problema hacerlo :

lo q hice fue q cuando generaba el elemento le pusiera un incrementador y utilice el getelementbyid

algo asi
Cita:
$u=-1;
ciclo while{
$u=$u+1;
$html.= "<td ><center><div id='btnBorrar'><b id='eliminardetalle".$u."' style=\"cursor:pointer;\" >"INFORMACION REGISTRADA"</b></div></center></td>";}
y ya despues con getElementById...

Cita:
function desactivaBotonCiclo($sSelectId,$tamano){

for($i=0;$i<$tamano;$i=$i+1)
{
$this->script("document.getElementById('".$sSelectId.$i. "').style.display='none'");
}
}
gracias
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”

Etiquetas: explorer
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 10:12.