Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jQuery clear input text on focus

I have this jQuery script:

$(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();
        });
});

It will set focus on the first input='text' field on page load. When a user enters a character it will move focus to the next following input field. It will also limit the number of characters allowed in each field (currently 1 character).

I wonder if it's possible to clear the current value of the input field on focus. Both when a user clicks with the cursror to focus the field but also when the $(this).next('input').focus(); sets focus on the next input field.

Also is it possible to validate the characters to only allow alphabetical characters?

like image 634
David Avatar asked Dec 20 '12 18:12

David


People also ask

How do you empty an input field?

To clear an input field after submitting: When the button is clicked, set the input field's value to an empty string. Setting the field's value to an empty string resets the input.

How can remove textbox value after submit in HTML?

The reset() method resets the values of all elements in a form (same as clicking the Reset button). Tip: Use the submit() method to submit the form.


1 Answers

To filter the input, use

​$('input').on('keydown', function(e) {
    if( !/[a-z]|[A-Z]/.test( String.fromCharCode( e.which ) ) )
        return false;
});​​​​​​​​

To clear the input field on click & focus, use

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

Be aware of that this event will fire twice, when you click into a non-focused input control in its current form.

Demo: http://jsfiddle.net/xbeR2/

like image 101
jAndy Avatar answered Oct 08 '22 15:10

jAndy