/ / jQuery Masked Input Masku nemožno odstrániť po správnom zadaní do poľa s telefónnym číslom - javascript, jquery, magento, maskovanie, maskedinput

jQuery maskovaný vstup Masku nemožno odstrániť po správnom zadaní do poľa telefónneho čísla - javascript, jquery, magento, maskovanie, maskedinput

Snažím sa maskovať číslo mobilného telefónu v mojom obchode Magento. Maska, ktorú chcem použiť, je „(599) 999 9999“.

Ak používateľ zadá správne telefónne číslo, chcemodstráňte masku a orezajte tie medzery a parantézy, ako napríklad „(532) 123 45 67“ -> „5321234567“. Ak nie je zadanie čísla úplné, funkcia masky automaticky vymaže všetky vstupné polia, takže je to pre mňa v poriadku, ale ak je zadanie správne, chcem, aby sa zobrazilo pole bez masky.

Som zaseknutý v tomto kroku a nemôžem dokončiť požiadavky na môj vlastný prepravný modul. Akákoľvek pomoc by bola skvelá.

Tu je odkaz 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
});

odpovede:

0 pre odpoveď č. 1

Zdá sa, že nastavenie časového limitu v rozostrení funguje:

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

demonštrácie

Radšej by som chytil change udalosť na aktualizáciu hodnoty.