Как отформатировать число с помощью intl-tel-input? - PullRequest
0 голосов
/ 01 января 2019

Я включил intl-tel-input js & css library в мой index.html:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/14.0.6/css/intlTelInput.css" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/14.0.6/js/intlTelInput.min.js"></script>

У меня есть еще один файл с именем app.js, внутри которого я форматирую число, пока пользователь печатает textbox:

window.intlTelInputGlobals.loadUtils(_TEL_INPUT_UTILS).then(function(x, y){

var pn = $("#phone_number")[0];
var iti = intlTelInput(pn,{
    nationalMode: false,
    initialCountry: 'US'
})
var handleChangeVerification = function() {
if(iti.getNumber() ){
    iti.setNumber(iti.getNumber());
}};
pn.addEventListener('change', handleChangeVerification);
pn.addEventListener('keyup', handleChangeVerification);

Переменная _TEL_INPUT_UTILS относится к служебному скрипту intl-tel-input после загрузки. Я пытаюсь отформатировать число в моем text box.

Этот код находится в:

$(document).ready(function(){
   //...
})

Теперь у меня есть код в app.js, который находится за пределами loadUtils, и я хочу отформатировать это число в переменной.

Когда я вызываю тот же loadUtils, Я получаю ошибку:

jQuery.Deferred exception: window.intlTelInputGlobals.loadUtils(...) is null my_scpecific_funcation@webpack:///./src/app.js?:258:13

Вопрос в том, как я могу отформатировать число внутри переменной?Нужно ли использовать loadUtils каждый раз?Есть ли лучший способ для всего процесса?

1 Ответ

0 голосов
/ 01 января 2019

Я не знал о том, что когда вы используете loadUtils, он будет загружен и у вас будет к нему доступ.

Поэтому я использовал приведенный ниже код без лишних слов:

intlTelInputUtils.formatNumber(my_number_var, null, intlTelInputUtils.numberFormat.INTERNATIONAL);
...