Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > Javascript > GetElementByID no me funciona...
-Foros de debate

Javascript
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

GetElementByID no me funciona...
Enviado por TClaw el día 11 de febrero de 2006

Buenas... He empezado hace poco con javascript. No pretendo hacer grandes cosas sólo poco de DHTML del más basico.

He empezado con el tipico cambio del contenido de una etiqueta pero llevo horas buscando porque no me funciona y no doy con ello...

Al principio probe directamente referenciando la etiqueta con document.all[\"id\"] hasta que he visto que en Firefox eso no funcionaba (aunque en IE si). Asi que he cambiado a getElementByID y entonces ya no funciona ni en un lado ni en otro...

Lo extraño es que codigos muy similares en otras paginas si que van a la perfeccion asi que es fallo de mi codigo pero no se porque...

Os dejo aki el codigo por si alguien sabe decirme porque no me funciona... Gracias de antemano...

El codigo es:

<html>
<head>
<title>Cambio de texto con link</title>

<script language=\"text/javascript\">
function cambiar(objeto, texto){
var obj=document.getElementById(objeto);
obj.innertext=texto;
alert(\"La funcion de cambio ha actuado\");
}
</script>
</head>

<body>

<div id=\"capa\">Texto en la capa</div>
<table border=\"1\"><tr><td id=\"celda\">Texto en la celda</td></tr></table>

<a href=\"#\" onClick=\"cambiar(\'capa\',\'Nuevo texto en la página\') \">Link que cambia la capa</a><br>
<input value=\"Boton que cambia la capa\" type=\"button\" onclick=\"cambiar(\'capa\',\'Nuevo texto en la página\')\"><br>
<a href=\"#\" onClick=\"cambiar(\'celda\',\'Nuevo texto en la página\') \">Link que cambia la celda</a><br>
<input value=\"Boton que cambia la celda\" type=\"button\" onclick=\"cambiar(\'celda\',\'Nuevo texto en la página\')\"><br>

</body>

y la pagina donde lo estoy probando es:

www.ssim.org/pruebas/cambio.htm

 
Re: GetElementByID no me funciona...
Enviado por inaki el día 13 de febrero de 2006

En serio que nadie sabe porque no me hace ni caso?

He pensado que puede que sea porque no le indico la version de javascript pero en los ejemplos que he mirado con getelementbyid tp la especifican...

Tambien puede ser ques e me escape algo a la hora de llamar a la funcion con el onclick porque ya le meti un alert para averiguar si la funcion se ejecutaba y como no hace ningun alert supongo que es que al hacer click simplemente o no llama a la funcion o esta no se ejecuta por lo que sea...

Enga, darme alguna pista please...

 

Re: GetElementByID no me funciona...
Enviado por inaki el día 13 de febrero de 2006

Vale primer fallo detectado:

La funcion no era detectada como tal... Cuando se llamaba a cambiar se detectaba como que no existia.

Ahora no se detectan fallos pero simplmente no pasa nada... dejo el codigo de nuevo:

<html>
<head>
<title>Cambio de texto con link</title>

<script language="javascript">

function cambiar(objeto,texto){
var obj=document.getElementById(objeto)
obj.innertext=texto;

}
</script>
</head>

<body>

<div id="capa">Texto en la capa</div>

<a href="#" onClick="cambiar('capa','Nuevo texto en la página') ">Link que cambia la capa</a><br>

</body>
</html>

 
Re: Re: GetElementByID no me funciona...
Enviado por Drocher el día 13 de febrero de 2006

Cuidado con las Mayusculas y minusculas en JavaScript, si pones

obj.innerText=texto;

te funcionará perfectamente.

Un saludo

 
Re: Re: Re: GetElementByID no me funciona...
Enviado por iñaki el día 15 de febrero de 2006

RESUELTO!---


Vale... era lo del innerText...

Resulta que el Firefox no me detectaba el innerText pero si que lo hace con innerHTML... de hecho me viene mejor incluso asi que a seguir adelante! :D

 

Re: Re: Re: GetElementByID no me funciona...
Enviado por Iñaki el día 15 de febrero de 2006

Pues no...

Me cole, resulta que ahora cambia de nuevo en IE pero en firefox sigue sin hacer ni caso... Es curioso porque en todos los ejemplos que he visto destinaban el document.getElemntById a NS y el document.all a IE... y resulta que el getElementById me lo reconoce Explorer y Firefox no????... :S

o es que innerText no lo reconoce firefox? (si no lo reconoce porque no me da un error la consola?)

La consola javascript no me detecta nada malo y si meto un alert al final de la funcion se ejecuta asi que vamos... sigo sin tener ni idea de como hacerlo...

Ahora la pagina esta asi:

<html>
<head>
<title>Cambio de texto con link</title>

<script language="javascript">

function cambiar(objeto,texto){
var obj=document.getElementById(objeto);
obj.innerText=texto;
}
</script>
</head>

<body>

<div id="capa">Texto en la capa</div>

<a href="#" onClick="cambiar('capa','Nuevo texto en la página') ">Link que cambia la capa</a><br>

</body>
</html>

 

Re: Re: Re: GetElementByID no me funciona...
Enviado por Iñaki el día 15 de febrero de 2006

QUE QUE QUE QUE¿¿¿¿¿?????

ME estas diciendo que siempre que me fallan funciones (que es a menudo y luego se arreglan volviendo a escribirlas de nuevo) es porque las funciones de javascript distinguen entre mayusculas y minusculas????

Con variables lo veo hasta logico pero...

jejeje... la cosa es que si, ahora funciona... sera cuestion de ir con cuidado.

Mil gracias!

 




Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network