Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/06/2009, 21:06
Avatar de buzu
buzu
 
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años, 4 meses
Puntos: 122
Respuesta: memoria input

la cosa es que cuando cargas la página no se activa el evento blur del campo de texto y tu el cambio lo haces al capturar dicho evento.

Tienes varias opciones. David (hola) ya te sugirió dos, ahora veamos cual realmente funciona. Limpiar el input no es realmente una buena idea. Puede ser que el usuario quiera modificar la entrada para refinar su búsqueda. Dejar la entrada ahí le da la oportunidad de no tener que re introducir todo el texto nuevamente.

Verificar el estado del input suena un poco mejor. Si el input tiene algún valor no muestras el fondo, de otra manera lo muestras.

Una tercera opción es activar el blur del input (blur()). No estoy seguro que esto active el evento blur, pero puedes probar.

Hasta ahora la opción de checar el estado del input al cargar la página parece la mejor. Ahora, como hacerlo?

Simple:
Código javascript:
Ver original
  1. window.onload = function(){
  2.      if(document.getElementById('idDeTuInput').value==''){
  3.            document.getElementById('idDeTuInput').style.backgroundImage= 'url(Imagenes/palabra.jpg);
  4.     }else{
  5.            document.getElementById('idDeTuInput').style.backgroundImage= '';
  6.     }
  7. }

Por supuesto que esta función es solo un prototipo y hay mejores formas de hacerlo, pero te puede servir como guía.
__________________
twitter: @imbuzu