我在我的Web項目中添加了JQuery Masked Input插件,但它根本不起作用。JQuery Masked Input插件不起作用
該插件可以在這裏找到:http://digitalbush.com/projects/masked-input-plugin
我已經包含JQuery的libray和蒙面的輸入插件到我的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"/>
......
當我訪問我的JSP時,即使在文本字段上輸入任何內容之前,Chrome控制檯上也會顯示以下內容:
Uncaught ReferenceError:iMask沒有定義
你能幫我嗎?代碼有什麼問題嗎?
我不認爲它會解決您當前的問題,但您對.mask的調用將不起作用,因爲它在解析頁面的其餘部分之前運行。您需要將調用包裝在jQuery文檔就緒函數中:$(document).ready(function(){...您的代碼在這裏...}); – HJ05
在document.ready中包裝應該實際上解決了這個問題。 jQuery和mask插件已經被執行了,因爲它們在腦海中。但是當你做$('#name')。mask(...)時,它什麼也不選。在文檔就緒之前在插件上調用掩碼可能意味着掩碼尚未加載所需的所有內容。即使你沒有得到這個錯誤,它仍然無法工作,因爲你需要$('#name')來選擇一個尚未創建的dom元素。 –
@ HJ05你應該將其作爲回答發佈,以便OP可以接受它,並將其上傳。 –