ユーザーが電話番号をテキストボックスに入力できるようにする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 () {
\ }