我一直在靠墙碰头,所以说到这个。我正在使用这里找到的jquery.maskedinput插件:https://raw.github.com/digitalBush/jquery.maskedinput/1.3.1/dist/jquery.maskedinput.js注意:我纠正了第29行的语法错误。这里提到了这个问题:Why do I have a JavaScript parser error with this mask code?我读到了maskedinput.1.3和jquery.1.9存在一些可能的兼容性问题所以我使用了这里提供的迁移:http://jquery.com/download/回到旧版本只会产生更多错误。我遇到的问题是firefox抛出“TypeError:$(...)。mask不是一个函数,第21行。
Test.aspx文件
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.aspx.cs"
Inherits="Test.test" %>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<link type="text/css" rel="stylesheet" href="styles.css" />
<link type="text/css" rel="stylesheet" href="css/jquery-ui-1.8.12.custom.css" />
<link type="text/css" rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
<script type="text/javascript" src="../Scripts/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script>
<script type="text/javascript" src="../Scripts/jquery.maskedinput.min.js"></script>
<%-- Begin Phone Validation Script --%>
<script type="text/javascript">
$(document).ready(function () {
//Input Mask for landline phone number
$("#<%=phone_num1.ClientID%>").mask("(999) 999-9999");
$("#<%=phone_num2.ClientID%>").mask("(999) 999-9999");
});
</script>
<%-- End of Phone Validation Script --%>
</head>
<body onload="initialize()">
<form runat="server">
<div id="consent-form-container">
<div class="box">
<table>
<tr>
<td>
<asp:Label ID="Label14" runat="server" Text="Phone 1:"></asp:Label>
</td>
<td>
<asp:TextBox ID="phone_num1" runat="server" CssClass="client_home_ph"></asp:TextBox>
<asp:RequiredFieldValidator ID="phone_validation1" runat="server" ControlToValidate="phone_num1" ErrorMessage="*" Font-Bold="True" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label17" runat="server" Text="Phone 2:"></asp:Label>
</td>
<td>
<asp:TextBox ID="phone_num2" runat="server" CssClass="client_home_ph"></asp:TextBox>
<asp:RequiredFieldValidator ID="phone_validation2" runat="server" ControlToValidate="phone_num2" ErrorMessage="*" Font-Bold="True" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
</table>
</div>
</div>
</form>
</body>
</html>
jquery.maskedinput.js代码片断的代码片段
$.mask = {
//Predefined character definitions
definitions: {
'9': "[0-9]",
'a': "[A-Za-z]",
'*': "[A-Za-z0-9]"
},
dataName: "rawMaskFn",
placeholder: '_'
};
有趣的是,我差不多一周前工作了,然后我添加了更多脚本,这就发生了哈哈。非常感谢任何帮助:)
答案 0 :(得分:0)
这很难并花了一些时间来调试这个,但基本上你必须使用旧版本的jquery并像这样升级
<script src="Scripts/jquery-1.4.4.min.js" type="text/javascript"></script>
<script src="http://code.jquery.com/jquery-1.9.0.js" type="text/javascript"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.js" type="text/javascript></script>
您调用“较旧的”jquery版本并通过插入1.9和迁移插件进行更新,如上所示。