Explicaré mejor mi problema. Tengo un código de javascript metido en el archivo principal.js que sirve principalmente para borrar el texto por defecto de los <textarea> y <input type="text"> cuando el foco se sitúa en ellos, es un código muy sencillo:
Código:
...
function textoDefecto()
{
inputs= document.getElementsByTagName('input');
for(i=0; i<inputs.length; i++)
{
if (inputs[i].type=="text")
{
inputs[i].onfocus= function(){if (this.value==this.title){this.value='';}}
inputs[i].onblur= function(){if (this.value==''){this.value=this.title;}}
}
}
textes= document.getElementsByTagName('textarea');
for(i=0; i<textes.length; i++)
{
textes[i].onfocus= function(){if (this.value==this.title){this.value='';}}
textes[i].onblur= function(){if (this.value==''){this.value=this.title;}}
}
}
window.onload= textoDefecto(); // o addLoadEvent(textoDefecto()); supongo que conocéis la función
El código html:
Código HTML:
<html xmlns="..." xml:lang="en">
<head>
...
<script type="text/javascript" src="principal.js"></script>
</head>
<body>
...
<form>
...
<input type="text" name="titulo" title="Titulo defecto" value="Titulo defecto"/>
...
<textarea name="texto" title="Texto defecto">Texto defecto</textarea>
...
</form>
...
</body>
</html>
Si hago lo de <body onload="textoDefecto();"> me funciona a la perfección, pero con window.onload no funciona ni tampoco da error. ¿Alguien me puede decir porqué?