4

だから私はjoomlaを持っています!ユーザーに基づく関数によって部分的に生成されるページ。したがって、「マスクされた入力プラグイン」を使用する必要があるフォームの部分は、ページの読み込み時に関数を介して読み込まれます。私が抱えている問題は、ページの標準 HTML であるフィールドではプラグインは正常に動作しますが、php 関数によって生成されたフィールドではフィールドがロックされ、入力が許可されないことです。私の推測では、jquery プラグインが起動した後に php 関数がフォームをプルする問題だと思いますが、.mask 呼び出しを $(document).ready に配置しようとしましたが、うまくいきませんでした。

ここにスニペットがあります...

jQuery(function($){
  $("#subNumber").mask("(999) 999-9999");
$(".numFix").mask("(999) 999-9999");
});

これは動作します -->

<form name = "subAct" id = "subAct" method="post">
<div class="col1"><input class="subaccountname" name="subName" type="text" id="subName"/></div>
<div class="col2"><input class="subaccountnumber" name="subNumber" type="text" id = "subNumber"/></div>
<div class="col3"><a href="javascript:submit()" class="buttonaddsub" id ="addSubBut">Add a New Account</a></div>
</form>

これはありません --> この関数 -->

<?php dashboardFunction::displaySubAccount($uid) ?>

この形式でロード -->

<form name = "add_reg_num_<?php echo $pin ?>" id = "add_reg_num_<?php echo $pin ?>" method="post">
<div class="regisnumberadd"><input name="regNum" type="text" class = "numFix" />
<input name="regNumPin" type="hidden" value = "<?php echo $pin ?>"/>
</div>
<div class="clear"></div>
<div class="addregisnum"><a href="javascript:;" onClick="subRegNum(<?php echo $pin ?>)">Add Number</a></div>
</form>
4

3 に答える 3

5

jQuery .on メソッドを使用してイベント バインディングをアタッチするだけで、動的に作成されたアイテムがそのイベントに関連付けられます。

ここで同様の質問に答えましたhttps://stackoverflow.com/a/10203361/12442

于 2012-04-18T05:36:06.753 に答える
0

動的 Jquery 入力マスク ソリューション (プログラムによるスイッチ マスキング)

$(document).ready(function () {
        $("[data-mask]").inputmask();
        // Do something exciting          
        var prm = Sys.WebForms.PageRequestManager.getInstance();

        prm.add_endRequest(function () {
            // re-bind your jQuery events here
            $("[data-mask]").inputmask();                
        });

    });


            if (is_loose == "True") {                    
                $("#it_qty").removeAttr("data-inputmask","'mask': '9{0,20}'");
                $("#it_qty").attr("data-inputmask", "'mask': '9{0,20}.9{0,2}'");

                $("[data-mask]").inputmask();

            } else {

                $("#it_qty").removeAttr("data-inputmask", "'mask': '9{0,20}.9{0,2}'");
                $("#it_qty").attr("data-inputmask", "'mask': '9{0,20}'");
                $("[data-mask]").inputmask();
            }
于 2015-11-14T05:22:53.733 に答える
0

コンテンツは動的に読み込まれるため、使用する必要があると思います。住む

.live と .mask の使い方がわかりません。

代替手段もあります。動的読み込みのコールバック関数に .mask コードを入れることができます。

$("#dynamicContent").load("loadFromMe.php",function(){
    $("#subNumber").mask("(999) 999-9999");
    $(".numFix").mask("(999) 999-9999");
});
于 2011-11-01T22:44:06.367 に答える