Search code examples
javascriptjquerymaskedinput

jquery masked input plugin to not clear field when errored


I'm looking at the http://digitalbush.com/projects/masked-input-plugin/

I'm calling it like this:

$(control).mask('999-999-9999');

And I don't want it to throw away the users input if something is wrong, e.g. they haven't finished

[407-555-____]

If you leave the field after having typed this much, it clears it. I'd like to leave it so they can finish later.

I'm new to jQuery, and I've looked through his source, but I can't find any way to do that, nor can I find any way to edit it to accomplish what I want, because the code is arcane to my eyes.


Solution

  • It looks like I should just make the whole mask optional:

    mask('?999-999-9999')
    

    That way the control thinks what the user has is "valid" and I can continue. Even though it isn't really the optional part of the mask.