[英]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.