我有一个带有MaskedEditExtender的文本框。当我输入文本时,我得到的输出是混乱的,一些数字重复,其他数字丢失。如果我删除了MaskedEditExtender,文本框会正常运行,但当然不允许我为文本框使用输入掩码。我已经尝试了MaskedEditExtender的各种选项组合,但是除了删除MaskedEditExtender之外什么都没有解决问题。可能是什么导致了这个?我可以添加或删除一些选项来修复此问题吗?
这是一个例子:我所拥有的一个领域是带有面具的电话领域(999)999-9999。显示表单时,在输入任何内容之前,它看起来像这样:
(___) ___-____
这是所需的行为。但是,当我输入一个数字时,例如1234567890,它显示为:
112_)233455660987_-____
1,2,3,5和6是重复的,7,8,9,0以相反的顺序出现。更不用说面具似乎被忽略了。
如果您需要更多信息,请与我们联系。我真的想知道问题是什么以及如何解决它。如果我的问题被立即降级,我就不能这样做。谢谢!
添加完整代码:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="CtlCheckOutAddressConfirm.ascx.cs" Inherits="App_Controls_CtlCheckOutAddressConfirm" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
<script language="javascript" type="text/javascript">
function checkClearZip()
{
var bx = document.getElementById('<%=TxtZip.ClientID %>').value
if (bx == "_____")
{
document.getElementById('<%=TxtZip.ClientID %>').value = "";
}
}
function checkClearPhone()
{
var bx = document.getElementById('<%=TxtPhone.ClientID %>').value
if (bx == "(___) ___-____")
{
document.getElementById('<%=TxtPhone.ClientID %>').value = "";
}
}
script>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel runat="server" ID="updCart" UpdateMode="Always">
<ContentTemplate>
<div>
<table>
<tr><td align="right">
<font style=" font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height:20px; color: #575a61;">*Phone</font>
</td><td align="left">
<asp:TextBox ID="TxtPhone" MaxLength="15" onblur="checkClearPhone();" runat="server" BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px" Height="28px" Width="300px" Font-Size="X-Large"></asp:TextBox><br />
<ajaxToolkit:MaskedEditExtender ID="MskPhone" runat="server"
TargetControlID="TxtPhone"
Mask="(999) 999-9999"
MessageValidatorTip="true"
OnFocusCssClass="MaskedEditFocus"
OnInvalidCssClass="MaskedEditError"
MaskType="None"
DisplayMoney="None"
AcceptNegative="None"
ClearMaskOnLostFocus="false" />
</td></tr>
<tr><td align="right">
<font style=" font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height:20px; color: #575a61;">*E-mail</font>
</td><td align="left">
<asp:TextBox ID="TxtEmail" MaxLength="50" runat="server" BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px" Height="28px" Width="300px" Font-Size="X-Large"></asp:TextBox><br />
</td></tr>
</table>
<div class="spacer"></div>
<center><asp:ImageButton runat="server" ID="BtnContinue" ImageUrl="~/images/Buttons/bebtn-save.gif" OnClick="BtnContinue_Click" /></center>
<asp:HiddenField ID="HdnMerch" runat="server" />
<asp:HiddenField ID="HdnAdd" runat="server" />
</div> </ContentTemplate>
</asp:UpdatePanel>
答案 0 :(得分:0)
我自己也经历过这个问题。
复制:
解决方案(至少对我而言):
快乐的编码!
答案 1 :(得分:-1)
这是一年之后,但对于那些可以受益的人来说也是如此。
原因可能是页面的部分回发。请注意您正在使用的ScriptManager。尝试隔离代码并查看是否发生。