From 34d1b910071ffb74934f79c2b01bbd40aadc9698 Mon Sep 17 00:00:00 2001 From: Muammer Top Date: Thu, 16 Sep 2021 14:48:56 +0300 Subject: [PATCH] #4551 Phone field mask not working --- .../base-theme/resources/js/phonefield.js | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/addons/default/visiosoft/base-theme/resources/js/phonefield.js b/addons/default/visiosoft/base-theme/resources/js/phonefield.js index 0bffd3409..e78d242c0 100644 --- a/addons/default/visiosoft/base-theme/resources/js/phonefield.js +++ b/addons/default/visiosoft/base-theme/resources/js/phonefield.js @@ -6,6 +6,8 @@ function phoneMask(fields) { var iti = intlTelInput(inputQuery, { hiddenInput: inputQuery.getAttribute('name'), class: "form-control", + formatOnDisplay: true, + nationalMode: true, initialCountry: "auto", geoIpLookup: function (success, failure) { $.get("https://ipinfo.io", function () { @@ -14,9 +16,21 @@ function phoneMask(fields) { success(countryCode); }) } - }) + }); + + addMask(iti, inputQuery); + $(inputQuery).on("countrychange", function(event) { + iti.setNumber(""); + addMask(iti, inputQuery); + }); }); + function addMask(iti, inputQuery){ + let selectedCountryData = iti.getSelectedCountryData(); + let newPlaceholder = intlTelInputUtils.getExampleNumber(selectedCountryData.iso2, true, intlTelInputUtils.numberFormat.INTERNATIONAL); + $(inputQuery).inputmask({ mask: newPlaceholder.replace(/[0-9+]/ig,'9'), keepStatic: false }); + } + // var fields_arr = fields.split(','); // $.each(fields_arr, function (index, value) { // maskPhone($(value).attr('name')) @@ -38,8 +52,8 @@ function phoneMask(fields) { // } // } // } - - + + } function controlNumber(inputQuery) {