JavaScript - problema con IE y javascript usando onfocus

 
Vista:

problema con IE y javascript usando onfocus

Publicado por ojks03 (2 intervenciones) el 25/12/2009 14:25:44
Hola! es la primera vez que escibo en un foro, pero tengo un problema que me está volviendo loco. Estoy haciendo una web donde habrá una zona solo para usuarios registrados. pues bien, en el form de ingreso de usuario y contraseña el comprotamiento edbería ser el siguiente:
En ambos imputs les tengo puestos el valor de Usuario y Contraseña para que la gente sepa que debe introducir en cada uno de ellos, además el "type" de Contraseña esta en text para poder leer el contenido mientras no se haga focus. cuando haces focus en usuario, el valor se borra para introducir directamente el usuario, esto funciona tano en IE como en FireFox, el problema viene al hacer focus en Contraseña, que no solo me debería borra el valor de "value" sino que tambien debería cambiar el valor "type" de text a password para que no se vea la contraseña que introduces, esto me funciona perfectamente en FireFox, pero no en IE que solo ejecuta la primera instuccion de dentro del if!!! lo he comprobado intercambiando las lineas de value y type y solo ejecuta la primera!! POR QUE???? sabe alguien alguna solución para esto. Gracias de antemano.

Aquí pego el codigo bas del form que utilizo.

<form name="ingreso" method="post" action="index.php" target="_self">
<input type="text" name="user" value="Usuario" onfocus="if (this.value == 'Usuario') this.value = '';" onblur="if (this.value == '') this.value='Usuario';"/>
<input type="text" name="pass" value="Contraseña" onfocus="if (this.value=="Contraseña"){ this.value=""; this.type="password"; }" onblur="if (this.value=="Contraseña") { this.value=""; this.type="password"; }"/>
<input type="hidden" name="access" value="1" />
<input type="submit" value="Ingresar" />
</form>

Gracias de nuevo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problema con IE y javascript usando onfocus

Publicado por Pedro Meza (25 intervenciones) el 28/12/2009 18:59:34
probablemente "this.type" en IE es solo lectura,
intenta algo asi (da un salto pero lo puedes mejorar con una tabla)

<form name="ingreso" method="post" action="index.php" target="_self">
<input type="text" name="user" value="Usuario" onfocus="if (this.value == 'Usuario') this.value = '';" onblur="if (this.value == '') this.value='Usuario';"/>
<input type="password" name="pass" id='pass' value="" style='display:none'>
<input type="text" value="Contraseña" onfocus="this.style.display = 'none'; var o = document.getElementById('pass'); o.style.display = 'block'; o.focus()">
<input type="hidden" name="access" value="1" />
<input type="submit" value="Ingresar" />
</form>

ah, cosas como estas no funcionan:

onfocus="if (this.value=="Contraseña") ....etc

me refiero a las comillas dobles dentro de otras comillas dobles.
intenta en estos casos usar comilla simple, algo asi

onfocus="if (this.value=='Contraseña')...etc

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con IE y javascript usando onfocus

Publicado por ojks03 (2 intervenciones) el 05/01/2010 18:47:29
Gracias Pedro Meza, me has hecho enfocar el problema de otra manera!
La verdad es que no se me había ocurrido jugar con dos inputs y echar mano del css. Ahora mismo lo adapto a mi web ^^

P.D. los de las dobles comillas dentro de unas dobles comillas lo sabía, pasa que en vez de copiar y pegar el script, lo escribí directamente y se me paso ese detalle ^^, gracias =mente por el consejo.

Un saludo y gracias de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar