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>
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...
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>
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.