2009-06-21 20 views
25

He intentado esto pero no funciona:¿Cómo borrar un cuadro de texto en el foco?

$(function() { 
    $('input[type=text]').focus(function() { 
     $(this).val() == ''; 
     }); 
}); 
+1

@ $ (this) .val() == '' usted estaba haciendo una comprobación de igualdad y como @Jon Erickson dice val() es una función de jQuery avry muy útil – Rony

Respuesta

76

para establecer el valor, usted tiene que pasar el nuevo valor como parámetro. Esto es algo muy original con la función jQuery de .val().

$(this).val('') 

echar un vistazo a la jQuery API y la búsqueda de 'val'

+1

lol que funcionó. Me pregunto por qué lo hicieron así ... gracias – sarmenhb

+0

no hay problema ... lo aprendí de la peor manera =) –

+8

Ellos "lo hicieron así" porque es lo único que remotamente tiene sentido. Lo que trataste de hacer no es una tarea (=) en primer lugar, es una comparación (==). E incluso si un lenguaje admite devolver un valor de una función que podría asignarse de esa manera, es una idea horrible; entonces si lo hiciste "var x = $ (this) .val(); x = 27;" estarías cambiando el valor no solo de x, sino de tu entrada, de una manera completamente contra intuitiva e increíblemente difícil de depurar. – chaos

4

Un poco tarde pero otro enfoque sería este

link text

Al hacer clic en el cuadro de entrada se seleccionará todo el texto (no claro) solo si es el valor predeterminado en el cuadro. De esta forma, si un usuario escribe algo, tiene que volver a editarlo, no está borrado, lo que podría ser bastante molesto.

También seleccionar el texto en lugar de borrarlo le recuerda al usuario el ejemplo. Uno para tener en cuenta, supongo.

+0

¡Ese truco fue realmente interesante! – sivann

Cuestiones relacionadas