2010-03-03 5 views
0

J'ai un problème lors de l'utilisation de jquery maskedinput avec asp.net textbox. J'ai une case à cocher qui quand je vérifie mettra un masque à la zone de texte et quand décochez-le changer le masque. le problème que lorsque la mise au point est perdue avant que le masque ne soit rempli, la zone de texte est vide.Entrée jquery masquée avec problème de contrôle d'asp.net

comment puis-je résoudre le problème ???

voici mon code:

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title>Untitled Page</title> 



    <script src="js/jquery-1.4.1.js" type="text/javascript"></script> 


    <script src="js/jquery.maskedinput-1.2.2.js" type="text/javascript"></script> 
    <script type="text/javascript"> 


     function mycheck() { 

      if ($('#<%=chk.ClientID %>').is(':checked')) 

       { 
         $("#<%=txt.ClientID %>").unmask(); 
         $("#<%=txt.ClientID %>").val(""); 
         $("#<%=txt.ClientID %>").mask("999999999999"); 

        } 
        else 
        { 
         $("#<%=txt.ClientID %>").unmask(); 
         $("#<%=txt.ClientID %>").val(""); 
         $("#<%=txt.ClientID %>").mask("(999)999-9999"); 

        } 






     } 
    </script> 

    <style type="text/css"> 
     #form1 
     { 
      margin-top: 0px; 
     } 
    </style> 

</head> 
<body> 
    <form id="form1" runat="server"> 
     <asp:ScriptManager ID="ScriptManager1" runat="server" /> 
     <div> 

     <p> 
      <asp:CheckBox ID="chk" runat="server" CssClass="kk" 
       onclick="mycheck()" /> 
     </p> 

     <p> 
      <asp:TextBox ID="txt" runat="server" CssClass="tt" ></asp:TextBox> 

     </p> 


     </div> 
    </form> 
</body> 
</html> 
+0

pourquoi avez-vous besoin de vider la zone de texte en premier lieu ? –

Répondre

0

il y a un problème avec le plugin lui-même et je signale que.

3

Ceci est voulu. La valeur par défaut pour mon plugin d'entrée masqué est d'effacer l'entrée si le masque n'est pas complètement rempli. Si vous souhaitez que votre masque autorise une entrée incomplète, vous pouvez insérer un '?' caractère où vous souhaitez que les caractères optionnels commencent.

Par exemple:

Pour masquer un numéro de téléphone avec une extension en option $(selector).mask('(999) 999-9999 ?x99999');

Pour faire un numéro de téléphone où tout est optionnel $(selector).mask('?(999) 999-9999');

Questions connexes