JQuery Masked Input plugin doesn't work

不想你离开。 提交于 2019-12-01 07:44:06

This may or may not fix your current problem, but your call to .mask will not work because it runs before the rest of the page (where your input fields are) is parsed.

You need to wrap the call in the jQuery document ready function:

$('document').ready(function() {
    $("#name").mask("99/99/9999");
});

This tells the script to wait until the page is loaded enough for the browser to know about the input fields in the document.

As an additional comment best practices say to put all script tags (with some exceptions) just before the closing body tag. Otherwise you should move the script tag into the head with the rest of the tags.

That's because jQuery is downloaded but not ready yet. Try

$(function(){
// your code goes here
});
RossG

You need to wrap your jQuery in document.ready as several folks have already mentioned. You also need to adjust your mask to match your desired input. I assume you only want alpha characters allowed. This JSFiddle shows you an example with that assumption.

If you want alphanumeric just replace 'a' with '*'. Below is the jQuery Code:

$(function() {
   //The # of "a"s you enter depends on your max field input
   //The "?" makes any character after the first one optional
   $("#fname").mask("a?aaaaaaaaaaaaaaaaaaaaaaaa"); 
   $("#lname").mask("a?aaaaaaaaaaaaaaaaaaaaaaaa"); 
});

It should also be said that using the masked input plugin may not be the best option to validate a name as it is meant for fixed width inputs. If you want to validate alpha characters of varying lenghts consider doing something like this instead.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!