GetElementByID no me funciona...
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
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
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...
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...
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>
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>
Cuidado con las Mayusculas y minusculas en JavaScript, si pones
obj.innerText=texto;
te funcionará perfectamente.
Un saludo
obj.innerText=texto;
te funcionará perfectamente.
Un saludo
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!
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!
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
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
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>
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>