jQuery borrar el texto de entrada en el foco

Tengo este script jQuery :

 $(document).ready(function() { $(':input:enabled:visible:first').focus(); $('.letters').keyup( function() { var $this = $(this); if($this.val().length > 1) $this.val($this.val().substr(0, 1)); $(this).next('input').focus(); }); }); 

Se centrará en el primer campo de input='text' en la carga de la página. Cuando un usuario ingresa un carácter, se moverá el foco al siguiente campo de entrada siguiente. También limitará la cantidad de caracteres permitidos en cada campo (actualmente 1 carácter).

Me pregunto si es posible borrar el valor actual del campo de entrada en el foco. Tanto cuando un usuario hace clic con el cursor como para enfocar el campo, pero también cuando el $(this).next('input').focus(); establece el foco en el siguiente campo de entrada.

¿También es posible validar los caracteres para permitir solo caracteres alfabéticos?

Para filtrar la entrada, use

 ​$('input').on('keydown', function(e) { if( !/[az]|[AZ]/.test( String.fromCharCode( e.which ) ) ) return false; });​​​​​​​​ 

Para borrar el campo de entrada al click y focus , use

 $('input').on('click focusin', function() { this.value = ''; }); 

Tenga en cuenta que este evento se activará dos veces cuando haga clic en un control de entrada no enfocado en su forma actual.

Demostración : http://jsfiddle.net/xbeR2/

Para responder a tu pregunta de enfoque, sí, puedes hacer eso:

 $("input").focus(function() { this.value = ""; }); 

Para responder a la única pregunta sobre cartas permitidas, esto se ha preguntado anteriormente .

utilizar esta

 $( document ).ready(function() { var search_text_s = "WYSZUKAJ"; // author ZMORA // search input focus text $("#searchClear").focus(function() { if(this.value == search_text_s){ this.value = ""; } }).blur(function() { if(this.value != search_text_s){ this.value = search_text_s; } }); }); 
Intereting Posts