У меня мультиязычный сайт с помощью плагина Polylang,формы выведены шорткодами,на одной странице находиться 2 формы.
Подключена маска для
intl-tel-input
На первом языке всё ок,всё работает корректно,на всех остальных языках вылазит ошибка.
Uncaught TypeError: Cannot read properties of null (reading 'getAttribute')
Хотя инпут в котором нужно вкл. маску указан корректно.
Как нужно изменить скрипт ниже,чтоб избежать этой ошибки?
PS: я плохо разбираюсь в JS и делал по колхозному,т.е у меня 2 языка на сайте и 4 формы по факту,я в каждой из форм менял ID инпута и делал 4 дубля скрипта ниже,так как была ошибка что обрабатывается только первый инпут. Ну т.е у меня 4 дубля где я меня меняется
var phoneInputID = "input#uafoot";
$(document).ready(function() {
var phoneInputID = "input#uafoot";
var input = document.querySelector(phoneInputID);
var iti = window.intlTelInput(input, {
formatOnDisplay: true,
hiddenInput: "full_number",
preferredCountries: ['ua'],
});
$(phoneInputID).on("countrychange", function(event) {
// Get the selected country data to know which country is selected.
var selectedCountryData = iti.getSelectedCountryData();
// Get an example number for the selected country to use as placeholder.
newPlaceholder = intlTelInputUtils.getExampleNumber(selectedCountryData.iso2, true, intlTelInputUtils.numberFormat.INTERNATIONAL),
// Reset the phone number input.
iti.setNumber("");
// Convert placeholder as exploitable mask by replacing all 1-9 numbers with 0s
mask = newPlaceholder.replace(/[1-9]/g, "0");
// Apply the new mask for the input
$(this).mask(mask);
});
iti.promise.then(function() {
$(phoneInputID).trigger("countrychange");
});
});