[英]Why Am I getting this Input Error?
我想制作一個動態蒙版,所以如果文本框中的數字大於11,則應使用其他蒙版。
我有以下代碼:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm3.aspx.cs" Inherits="WebApp_MVP.WebForm3" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="scripts/jquery-2.2.0.min.js"></script>
<script src="scripts/jquery.maskedinput.js"></script>
<script type="text/javascript">
jQuery(function ($) {
$("#TextBoxDoc").keydown(function () {
try {
$("#TextBoxDoc").unmask();
} catch (e) { }
var tamanho = $("#TextBoxDoc").val().length;
if (tamanho < 11) {
$("#TextBoxDoc").mask("999.999.999-99");
} else if (tamanho >= 11) {
$("#TextBoxDoc").mask("99.999.999/9999-99");
}
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox runat="server" ClientIDMode="Static" ID="TextBoxDoc"><asp:TextBox>
</div>
</form>
</body>
</html>
問題是,當我嘗試寫入文檔編號時,它僅保留一個字符,並像這樣不斷更改最后一個字符:
[______________] *按3
[3_____________] *按2
[2_______________] *按9
[9_____________],依此類推...
而不是使用取消遮罩和重新遮罩(我相信這會刪除您的信息),請嘗試使用“即時”遮罩更改。
var options = {onKeyPress: function(cep, e, field, options){
var masks = ['999.999.999-99', '99.999.999/9999-99'];
mask = (cep.length > 11) ? masks[1] : masks[0];
$('#TextBoxDoc').mask(mask, options);
}};
$('#TextBoxDoc').mask('999.999.999-99', options);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.