2010-03-01 12 views
0

asp.net 페이지에서 jquery meio 마스크를 사용하려고합니다.asp.net 텍스트 상자가있는 jquery meio 마스크

입력 텍스트 상자는 제대로 작동하지만 asp.net 텍스트 상자와 함께 사용하는 방법을 모르겠습니다.

내 코드를 실행하면 html 텍스트 상자가 작동합니다.

?

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

여기 내 코드입니다 : ............................................. asp:TextBox 태그 (파이어 폭스 나 IE에서 페이지 소스를 검사한다면 당신은 그것을 볼 것) jQuery를 사용할 수 없기 때문에 .......

은, 당신이 원하는 무슨이다
<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> 

답변

1

TextBox에 jQuery와 함께 사용할 수있는 CSS 클래스를 제공하거나 jQuery에 텍스트 상자의 유효한 ClientID를 제공하십시오. 난 당신이

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

처럼 뭔가 텍스트 상자 선언을 변경하고

$('.phoneNumber').setMask(); 
<asp:TextBox>로 만든
+0

CSSClass = "phoneNumber"를 추가했는데 스크립트를 업데이트했지만 코드를 실행할 때 ASP 텍스트 상자의 마스크가 없다고해도 문제가 없습니다. 모든 조언 ?? 여기 내 대본은 .............................................. .... $ (document) .ready (function() { $ .mask.masks = $ .extend ($. mask.masks, { aspPhone : {mask : '(999) 999-9999'} }) $ ('. 전화 번호'). setMask(); }); – Eyla

+0

'asp : TextBox'가''로 렌더링되기 때문에 첫 번째 부분'$ ('input : text'). setMask()'만으로도 충분합니다. 두 번째'$ (document) .read()'함수를 제거하면 (두 함수를 지정할 필요가 없습니다.) –

+0

두 번째를 제거하고 $ ('input : text')를 되돌립니다. setMask()하지만 여전히 아무 일도 일어나지 않습니다 .. 어떤 조언, 감사합니다, – Eyla

0

하는 ASP.NET 텍스트 상자는 여전히에 가고 당신의 jQuery 코드 할 수있는 경우에 CSS 경로를 선택할 것 <input type="text" ...>으로 렌더링하십시오.

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

을 또는 당신이 정말로 해당 하나 개의 필드에 적용 할 경우이 같은 자사의 ID를 사용할 수 있습니다 :

그것이로 jQuery를 남겨주세요 안녕하세요 당신이 놓친

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

도와 줘서 고맙습니다. 두 가지 방법을 시도했지만 아무런 조언이 없습니다. – Eyla

1

젠트의 주된 원인. 모든 컨트롤에서 alt 속성을 사용하십시오. 마스킹은 그것에 따라 작동합니다. 여부를 asp 또는 html로. 은 다음과 같습니다. <asp:TextBox ID="aspPhone" runat="server" alt="phone-us"></asp:TextBox>

감사합니다.

0

meioMask 플러그인은 "alt"HTML 속성과 함께 작동하기 때문에, 작동 시키려면 meioMask 플러그인을 설정해야합니다.

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