簡體   English   中英

jQuery屏蔽輸入| 正確輸入電話號碼字段后無法刪除蒙版

[英]jQuery Masked Input | Can't remove mask after correct entry to the phone number field

好吧,我試圖掩蓋我的magento商店的手機號碼字段。 我要使用的蒙版是“(599)999 9999”。

如果用戶正確輸入電話號碼,我想去掉面具並修剪那些空白和類似“(532)123 45 67”->“ 5321234567”的括號。 如果數字輸入不完整,則掩碼功能會自動清除所有輸入字段,因此對我來說還可以,但是如果輸入正確,我希望它顯示不帶掩碼的字段。

我被此步驟困住了,無法滿足我的自定義運輸模塊的要求。 任何幫助都會很棒。

這是JSFiddle鏈接: http : //jsfiddle.net/KKhKV/4/

HTML:

<input type="text" name="billing[telephone]" value="" title="<?php echo $this->__('Telephone') ?>" class="input-text" id="billing:telephone" />

<input type="text" id="sec" />

JavaScript:

var mask = "(599) 999 9999";
//jQuery("#billing\\:telephone").mask(mask);

jQuery("#billing\\:telephone").focus(function () {
    jQuery("#billing\\:telephone").val("");
    jQuery("#billing\\:telephone").mask(mask);
    jQuery("#billing\\:telephone").val("(5");
})
    .blur(function () {

        jQuery("#billing\\:telephone").unmask(mask);
        var a = jQuery("#billing\\:telephone").val();

        var reg = new RegExp(" ","g");
        a = a.replace(reg,"");
        a = a.replace("(","");
        a = a.replace(")","");
        //jQuery("#billing\\:telephone").val(a); THIS DOES NOT WORK
        jQuery("#sec").val(a); // THIS WORKS NICE
});

在模糊內設置超時似乎有效:

.blur(function () {
    setTimeout(function () {
        jQuery("#billing\\:telephone").val(a);
    }, 1);
});

演示版

我寧願捕獲change事件來更新值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM