dar*_*ter 4 javascript jquery masking
我已经在我的Web项目中添加了一个JQuery Masked Input插件,但它根本不起作用.
该插件可以在这里找到:http://digitalbush.com/projects/masked-input-plugin
我已经将JQuery libray和Masked Input插件包含在我的JSP中,并mask为我的html <input>元素调用了函数:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- JS --->
<script src="js/jquery-1.11.0.js"></script>
<script src="js/masked-input-jquery-1.3.1.js"></script>
<title>Test</title>
</head>
<body>
<script type="text/javascript">
$("#name").mask("99/99/9999");
</script>
<form id="" method="" action="">
<div>
<label for="name">
Name<b style="color: red">*</b>
</label>
<input name="studentName" maxlength="255" autofocus="autofocus" type="text" id="name"/>
......
Run Code Online (Sandbox Code Playgroud)
当我访问我的JSP时,即使在文本字段中输入任何内容之前,Chrome控制台上也会显示以下内容:
未捕获的ReferenceError:未定义iMask
你能帮助我吗?代码有什么问题吗?
HJ0*_*J05 11
这可能会或可能不会解决当前的问题,而是你调用.mask不会工作,因为它的页面(在您输入字段)的其余部分之前运行解析.
您需要在jQuery文档就绪函数中包装调用:
$('document').ready(function() {
$("#name").mask("99/99/9999");
});
Run Code Online (Sandbox Code Playgroud)
这告诉脚本要等到页面加载到足以让浏览器知道文档中的输入字段.
作为附加注释的最佳实践说,将所有脚本标记(有一些例外)放在结束标记之前.否则,您应该使用其余标记将脚本标记移动到头部.