0

MaskedEditExtender가있는 텍스트 상자가 있습니다. 필자가 텍스트를 입력 할 때 중복되는 일부 숫자와 누락 된 숫자로 인해 출력이 뒤죽박죽입니다. MaskedEditExtender를 제거하면 텍스트 상자가 정상적으로 수행되지만 물론 텍스트 상자에 입력 마스크를 사용할 수 없습니다. MaskedEditExtender에 대한 다양한 옵션 조합을 시도했지만 MaskedEditExtender를 제거하지 않아도 문제가 해결됩니다. 무엇이 이것을 일으킬 수 있습니까? 이 문제를 해결하기 위해 추가 또는 제거 할 수있는 옵션이 있습니까?MaskedEditExtender가있는 텍스트 상자로 인해 문자가 중복됩니까?

다음은 예입니다. 내가 가진 필드 중 하나는 마스크 (999) 999-9999가있는 전화 필드입니다. 양식이 표시 될 때 아무 것도 입력하지 않으면 다음과 같이 표시됩니다.

(___) ___-____ 

원하는 동작입니다. I는 숫자를 입력 할 때, 그것은이로 표시 1234567890 말 :

112_)233455660987_-____ 

1, 2, 3, 5, 6이 중복되고, 7, 8, 9, 0은 반대의 순서로 나타난다. 마스크는 무시당하는 것처럼 보입니다.

더 이상 정보가 필요하면 알려주십시오. 나는 정말로 문제가 무엇인지 그리고 그것을 고치는 법을 배우고 싶다. 내 질문에 잠정적으로 다운 그레이드하면 그럴 수 없습니다. 고맙습니다! 이것은 나중에 1 년 만 아니라, 사람에 대한 혜택을 누릴 수있다

<%@ 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

전체 마크 업을 게시 할 수 있습니까? 당신이 제공 한 코드는 완벽하게 작동합니다. – afzalulh

+0

코드가 추가되었습니다. 감사! – boilers222

답변

-1

:

전체 코드를 추가.

이유는 페이지의 부분적인 포스트 백일 수 있습니다. 사용중인 ScriptManager를 알고 있어야합니다. 코드를 격리하고 오류가 있는지 확인하십시오.

0

본인이 직접 경험 한 문제입니다.

복제 :

  • 두 MaskedEditExtenders을 추가 한 텍스트 상자 지적했다.
  • 브라우저를 실행하고 입력란에 데이터를 입력하십시오. 각 캐릭터는 두 배로 복제됩니다. (적어도 나를 위해)

해결 방법 : - 내가 볼 수없는 중복

  • 당신의 ASPX 파일이 깨끗한 나타납니다. 다음 항목을 시도해보십시오 :
  • 해당 TargetControlID가 해당 텍스트 상자를 가리키는 동적 빌드 된 MaskedEditExtender를 CodeBehind에서 찾으십시오.
  • 참고 :이 작업은 MasterPage, 동일한 페이지의 CodeBehind 또는이 기능을 수행하는 다른 영역에서 애매하게 정의 된 함수를 호출하는 페이지 중 하나에서 직접 수행 할 수 있습니다 (내 문제의 경우).

해피 코딩!

+0

답변을 더 많이 편집 할 수 있습니까? 그렇지 않으면 평판이 충분 해지면 의견을 게시 할 수 있습니다. – kaz

관련 문제