如何使用国际电话输入来格式化数字?

时间:2019-01-01 11:50:20

标签: javascript jquery intl-tel-input

我在intl-tel-input中包含了index.html js&css库:

<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 :(得分:0)

我不知道的事情是,当您使用<VirtualHost *:80> ServerName 192.168.33.10 ServerAdmin admin@myhost.com LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined CustomLog /var/log/httpd/192.168.33.10_access.log combined ErrorLog /var/log/httpd/192.168.33.10_error.log <IfModule mod_jk.c> JkMount /* app1Worker </IfModule> </VirtualHost> 时,它将被加载并且可以访问它。

所以我用了下面的代码,事不宜迟:

http://192.168.33.10: ok Apache is working
http://192.168.33.10:8080: ok, Tomcat is working 
http://192.168.33.10:8080/examples: ok, Tomcat is working
http://192.168.33.10/examples: KO .... ?????