2011-03-21 10 views
1

私の問題は:私のコードは、サーバーを呼び出した後、私は必要な変更を返し、マスクが消えます。 (これはアップデートパネル内のマスクでのみ発生します)UpdatePanelでjQueryのマスク入力プラグイン

PS:データとHTMLコードをリンクしましたが、できませんでした。これだけideiaを表示する

:私のコードビハインドで

<ScriptManager> 
    <UpdatePanel> 
    <ContentTemplate> 
     <Table> 
      <asp:TextBox runat="server" ID="txtCnpj" CssClass="cnpj_m" MaxLength="50"/> 
     </Table> 
    </ContentTemplate> 
    </UpdatePanel> 
</ScriptManager> 

私は非表示にし、いくつかの項目を示しています。 (これはascxコントロール)と私のjavascriptはこれです:


$(function() { 
    $(".data_m").mask("99/99/9999"); 
    $(".telefone_m").mask("9999-9999"); 
    $(".dddtelefone_m").mask("(999) 9999-9999"); 
    $(".ddd_m").mask("(999)"); 
    $(".cep_m").mask("99999-999"); 
    $(".cpf_m").mask("999.999.999-99"); 
    $(".cnpj_m").mask("99.999.999/9999-99"); 
}); 

私はjQuery 1.5.1を使用しています。

し、プラグインMasked Input Plugin from digitalBush

誰もが、私はこの問題を解決することができますどのように任意のアイデアを持っていますか?

PS2:私のマスクは私がページを始めるときに働いています。私はサーバーを呼び出した後で止まります。

編集:

これは、ロード後にどのように更新を試したかです。



$(".rbToggle").live('change',function() { 
    //$("#txtCpf").mask("999.999.999-99"); 
    //$("#txtCnpj").mask("99.999.999/9999-99"); 
    // Edit, i'm using the code below, i put the top as sample, but i guess it may be kind hard to ppl see this sometimes. 
    $("#%= txtCpf.ClientID %>").mask("999.999.999-99"); 
    $("#%= txtCnpj.ClientID %>").mask("99.999.999/9999-99"); 
}); 

EDIT2:私はあなたがマスクにコンテンツが再レンダリングされるたびに有効にする必要がありますのUpdatePanelずに、マスクとjavascriptの仕事は

+0

あなたはFFでサイトを開いて、問題が何であるかを確認するために私たちにコンソールエラー情報を表示することができますか?また、firebug – nemke

+0

をインストールしてください。こんにちはnemke =)コメントをいただきありがとうございます。私はffと火かき棒を既に持っていますが、チップのおかげで、私はxDを感謝します。 fbはエラーを表示せず、css(jquery-ui-css)に関する警告のみを表示します。 –

+0

このリンクをチェックするhttp://stackoverflow.com/questions/301473/rebinding-events-in-jquery-after-ajax-update-updatepanel私は同様の問題がありました。私はlive()jqueryメソッドで解決したことを思い出しました – nemke

答えて

5

完璧であることを言及を忘れていました。更新パネルがリロードされたら、マスクを再びアクティブにします。

これは、pageLoaded javascript methodRegisterStartupScript、または部分ビュー内にアクティベーションjavascriptを配置することによって実行できます。例えば

var prm = Sys.WebForms.PageRequestManager.getInstance(); 
prm.add_pageLoaded(function(){ 
    // global partial postback complete 
    // add masks here 
}); 
+0

こんにちはJosiah、答えをありがとう。私はそれを試してみました。私は私の暫定と私の質問を編集します。しかし、javascript = Xにあった –

+0

PS:私はあなたのコードを試しています –

+0

ジョージア、私は次のエラーがあります: "シスは定義されていません"。任意のヒント ?私も自分自身で探しています。しかし、いつもようにあなたのような良い助け=)**編集:**私はあなたのコードを正確に使用し、私のfunction.jsページ内のマスク内。 –