0

ユーザーが電話番号をテキストボックスに入力できるようにするDotNetNukeフレームワークでascxコントロールを使用しています。定型入力 (999) 999-9999 の要件と、定型入力のオフ/オンを切り替えて国際番号を入力できるようにするチェックボックスがあります。Chrome をテストしたときに asp.net ajax コントロール ツールキットでいくつかの問題が発生したため、jquery.maskedinput-1.3.min.js 拡張機能を使用して jQuery を試すことにしました。スクリプトセクションの次のコードですが、チェックボックスは一度しか機能しません。これは、テキストボックスが更新パネルにあるためだと思います。チェックボックスで自動ポストバックが有効になっていますが、そのイベントをキャプチャして JavaScript のリロードを強制する方法がわかりません。

    jQuery(document).ready(function () {
        jQuery(".primarymask").mask("(999) 999-9999");

        jQuery("input[name=ckbIntPrimaryPhone]").click(function () {
            if (jQuery(this).is(":checked")) {
                jQuery(".primarymask").mask("");
            }
            else {
                jQuery(".primarymask").mask("(999) 9999-9999");
            }
        }); 
    });

以下のコードを使用してからjs関数を繰り返してみましたが、マスクはクリックされるまで消え、その後常に戻ってきます。

    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_endRequest(function () {

\ }

4

2 に答える 2

1

これを試すことができます:

このコードを ascx/aspx コード ファイルに挿入します。

<asp:ScriptManager ID="ScriptManager1" EnablePartialRendering="true" syncPostBackTimeout="70" runat="server" />

<script language="javascript" type="text/javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(update_start);
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(update_end);
    function update_start(sender, args) {
        // code here executes when update panel begins to update
    }

    function update_end(sender, args) {
        // code here executes when update panel is done updatinging
    }
</script>
于 2012-04-17T22:48:06.343 に答える
0

__dopostback('updatePanelId') MSAjax を使用して updatepanel を更新します

于 2012-04-17T22:43:27.057 に答える