使用 intlTelInput 获取完整数字
Get the full number using intlTelInput
我正在使用提供的 intlTelInput 演示代码 here
我可以使用以下方法获取拨号代码
var intlNumber = $("#phone").intlTelInput("getSelectedCountryData");
但我无法从 #phone 文本框中获得完整的数字,即 "dialcode + number entered by user"。
使用 getnumber
选项,因此在您的情况下:
var intlNumber = $("#phone").intlTelInput("getNumber");
^ 这会给你完整的号码(国家代码 + phone 号码)
请参阅此处 docs。
您必须使用 built-in 方法来获取完整数字,但您必须添加 utilsScript
$("#phone").intlTelInput(
{
//Other configurations,
//Other configurations,
utilsScript : "/path/to/build/utils.js",
});
在此处所述的 intlTelInput 初始化中Intl-Tel-Phone Docs
然后你可以使用
得到完整的数字
$("#YourInputElementID").intlTelInput("getNumber");
full_phone
会成功的。
它会在提交表单时附加一个带有完整数字的隐藏字段。
var input = document.querySelector("#phone");
window.intlTelInput(input, {
hiddenInput: "full_phone",
utilsScript: "../../build/js/utils.js"
});
更新:
如果上述技巧不起作用,请不要担心,您可以通过在 phone 输入字段之前放置一个隐藏的输入字段来修复它。
HTML:
var input = document.querySelector("#phone"),
hidden= document.querySelector("#hidden");
var iti = window.intlTelInput(input, {
nationalMode: true,
utilsScript: "../../build/js/utils.js"
});
var handleChange = function() {
hidden.value = iti.getNumber()
};
// 监听“keyup”,也可以在用户选择国家时“change”更新
input.addEventListener('change', handleChange);
input.addEventListener('keyup', handleChange)
正在使用 ajax 提交表单。
这对我有用。
我在 intlTelInput.js
文件
中添加了 hiddenInput : "full_phone"
并将偶数侦听器从 "submit"
更改为 "change"
var iti = document.querySelector("#phone");
window.intlTelInput(iti, {
separateDialCode: true,
hiddenInput : "full_phone",
utilsScript: "../../build/js/utils.js",
});
在intlTelInput.js
文件中
if (this.telInput.form) this.telInput.form.addEventListener("change", this._handleHiddenInputSubmit);
另一种选择是简单地使用 getInstance,然后使用 getNumber
var input = document.querySelector("#phone"),
window.intlTelInput(input, {
utilsScript : "/path/to/build/utils.js",
});
window.intlTelInputGlobals.getInstance(input).getNumber();
我正在使用提供的 intlTelInput 演示代码 here
我可以使用以下方法获取拨号代码
var intlNumber = $("#phone").intlTelInput("getSelectedCountryData");
但我无法从 #phone 文本框中获得完整的数字,即 "dialcode + number entered by user"。
使用 getnumber
选项,因此在您的情况下:
var intlNumber = $("#phone").intlTelInput("getNumber");
^ 这会给你完整的号码(国家代码 + phone 号码)
请参阅此处 docs。
您必须使用 built-in 方法来获取完整数字,但您必须添加 utilsScript
$("#phone").intlTelInput(
{
//Other configurations,
//Other configurations,
utilsScript : "/path/to/build/utils.js",
});
在此处所述的 intlTelInput 初始化中Intl-Tel-Phone Docs
然后你可以使用
得到完整的数字$("#YourInputElementID").intlTelInput("getNumber");
full_phone
会成功的。
它会在提交表单时附加一个带有完整数字的隐藏字段。
var input = document.querySelector("#phone");
window.intlTelInput(input, {
hiddenInput: "full_phone",
utilsScript: "../../build/js/utils.js"
});
更新: 如果上述技巧不起作用,请不要担心,您可以通过在 phone 输入字段之前放置一个隐藏的输入字段来修复它。
HTML:
var input = document.querySelector("#phone"),
hidden= document.querySelector("#hidden");
var iti = window.intlTelInput(input, {
nationalMode: true,
utilsScript: "../../build/js/utils.js"
});
var handleChange = function() {
hidden.value = iti.getNumber()
};
// 监听“keyup”,也可以在用户选择国家时“change”更新
input.addEventListener('change', handleChange);
input.addEventListener('keyup', handleChange)
正在使用 ajax 提交表单。
这对我有用。
我在 intlTelInput.js
文件
hiddenInput : "full_phone"
并将偶数侦听器从 "submit"
更改为 "change"
var iti = document.querySelector("#phone");
window.intlTelInput(iti, {
separateDialCode: true,
hiddenInput : "full_phone",
utilsScript: "../../build/js/utils.js",
});
在intlTelInput.js
文件中
if (this.telInput.form) this.telInput.form.addEventListener("change", this._handleHiddenInputSubmit);
另一种选择是简单地使用 getInstance,然后使用 getNumber
var input = document.querySelector("#phone"),
window.intlTelInput(input, {
utilsScript : "/path/to/build/utils.js",
});
window.intlTelInputGlobals.getInstance(input).getNumber();