2010-03-01 5 views
0

J'essaie d'utiliser le masque jquery meio avec la page asp.net.Masque jquery meio avec asp.net textbox

cela fonctionne ok avec la zone de texte de saisie, mais je ne sais pas comment l'utiliser avec la zone de texte asp.net. Lorsque j'exécute mon code, la zone de texte html ne fonctionne que lorsque je l'exécute.

s'il vous plaît avis?

http://www.meiocodigo.com/projects/meiomask/

voici mon code: ................................... .......

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 

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

    <script type="text/javascript" charset="utf-8"> 
     $(document).ready(function() { 
      $.mask.masks = $.extend($.mask.masks, { 
      htmlPhone: { mask: '(999)999-9999' } 

      }); 
      $('input:text').setMask(); 
     }); 


     $(document).ready(function() { 
      $.mask.masks = $.extend($.mask.masks, { 
       aspPhone: { mask: '(999)999-9999' } 

      }); 
      $('asp:TextBox').setMask(); 
     }); 


    </script> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 


    <p><label for="phone">ASP Phone #</label><br /><asp:TextBox ID="aspPhone" runat="server"></asp:TextBox></p> 

    <p><label for="phone">HTML Phone #</label><br /><input type="text" name="htmlPhone" value="" id="phone" alt="phone" /></p> 




</asp:Content> 

Répondre

1

Depuis asp:TextBox tag est pas disponible pour jQuery (si vous deviez examiner votre source de la page dans Firefox ou IE vous ne voyez), ce que vous voulez faire est soit donner à la TextBox une classe css que vous pourriez utiliser avec jQuery ou fournir jQuery avec un ClientID valide pour la zone de texte. Je choisirais la route css, dans ce cas, vous pouvez modifier la déclaration TextBox à quelque chose comme

<asp:TextBox ID="aspPhone" runat="server" CSSClass="phoneNumber" /> 

et votre code jQuery pour

$('.phoneNumber').setMask(); 
+0

J'ai ajouté CSSClass = "phoneNumber" et je mets à jour mon script mais rien ne se passe quand j'exécute le code il n'y a pas de masque pour la zone de texte ASP. un conseil? voici mon script .............................................. .... $ (document) .ready (function() { $ .mask.masks = $ .extend ($. Mask.masks, { aspPhone: {mask: '(999) 999-9999'} }); $ ('.numéro de téléphone'). SetMask(); }); – Eyla

+0

en regardant votre code la première partie '$ ('input: text'). SetMask()' seul devrait suffire car 'asp: TextBox' va afficher' ''. Que se passe-t-il si vous supprimez la deuxième fonction '$ (document) .read()' (qui, btw, n'a pas besoin d'avoir 2 fonctions spécifiées) –

+0

J'ai supprimé le second et remis $ ('input: text'). setMask() mais toujours rien n'arrive .. un conseil, Cordialement, – Eyla

0

Une zone de texte ASP.NET créé avec <asp:TextBox> est toujours en cours à rendre comme <input type="text" ...>.

Laissez votre jQuery comme il était:

$('input:text').setMask(); 

Ou si vous voulez vraiment appliquer seulement à ce qu'un champ, vous pouvez utiliser son ID comme ceci:

$('#<%= aspPhone.ClientID %>').setMask(); 
+0

Merci d'avoir essayé de m'aider. J'ai essayé les deux sens mais rien ne fonctionne il n'y a pas de masque un conseil? – Eyla

1

bonjour vous avez manqué la principale cause mec. utilise l'attribut alt dans n'importe quel contrôle. le masquage fonctionnera en fonction de cela. que ce soit en ASP ou HTML. comme: <asp:TextBox ID="aspPhone" runat="server" alt="phone-us"></asp:TextBox>

Merci.

0

Puisque le plugin meioMask fonctionne avec l'attribut HTML "alt", vous devez le configurer pour qu'il fonctionne. Cela ferait l'affaire:

$('#<%= aspPhone.ClientID %>').attr('alt', 'phone').setMask();