使用 jquery [通过 IP/intl-tel-input jquery 库获取国家代码的输入值]
Get input value for country code with jquery [auto country by IP/intl-tel-input jquery library]
我需要根据所选的国家/地区值将国家代码提交给 URL。
我为此使用国际电话输入:https://github.com/jackocnr/intl-tel-input
这里是HTML代码:
<form id="redirform" method="GET" action="#link">
<div class="gtd-form-wrapper">
<input type="hidden" id="country" name="country">
<div class="form-group">
<input name="phone" pattern="[0-9]*" id="phone" class="f w-input" data-value-missing="Use numbers only. No country code! No whitespaces!" required="required" placeholder="Phone">
</div>
<div class="form-group">
<button class="submit-button w-button gtd-form-submit" type="submit">SUBMIT</button>
</div>
</form>
这里是jQuery:
var input = document.querySelector("#phone");
window.intlTelInput(input, {
initialCountry: "auto",
geoIpLookup: function(success, failure) {
$.get("https://ipinfo.io/", function() {}, "jsonp").always(function(resp) {
var countryCode = (resp && resp.country) ? resp.country : "";
success(countryCode);
});
},
});
input.addEventListener('countrychange', function () {
$('#country').val(iti.getSelectedCountryData().iso2);
});
$('#redirform').on('submit',function(){
var $input = $(this).find("input[name=country]");
$('#country').val(iti.getSelectedCountryData().iso2);
});
这是我拥有的和我需要的图片:
PICTURE CLICK TO OPEN
您似乎需要从国际输入中获取选定的国家/地区值。
您不需要在 HTML.
中添加国家/地区输入
var intl = window.intlTelInput(input, {
initialCountry: "auto",
geoIpLookup: function(success, failure) {
$.get("https://ipinfo.io/", function() {}, "jsonp").always(function(resp) {
var countryCode = (resp && resp.country) ? resp.country : "";
success(countryCode);
});
},
});
$('#redirform').on('submit', function(e) {
e.preventDefault();
var countryData = iti.getSelectedCountryData();
var form = $('#form');
form.append($("<input>").attr("type", "hidden").attr("name", "country").val(countryData.iso2));
form.submit();
});
在提交表单时,会创建隐藏输入并设置值,因此您无需担心。
因为您已经告诉您需要将国家/地区值输入 URL,所以表单将以 GET 方式提交,因为表单的方法是 GET。
希望对您有所帮助。谢谢。
我需要根据所选的国家/地区值将国家代码提交给 URL。
我为此使用国际电话输入:https://github.com/jackocnr/intl-tel-input
这里是HTML代码:
<form id="redirform" method="GET" action="#link">
<div class="gtd-form-wrapper">
<input type="hidden" id="country" name="country">
<div class="form-group">
<input name="phone" pattern="[0-9]*" id="phone" class="f w-input" data-value-missing="Use numbers only. No country code! No whitespaces!" required="required" placeholder="Phone">
</div>
<div class="form-group">
<button class="submit-button w-button gtd-form-submit" type="submit">SUBMIT</button>
</div>
</form>
这里是jQuery:
var input = document.querySelector("#phone");
window.intlTelInput(input, {
initialCountry: "auto",
geoIpLookup: function(success, failure) {
$.get("https://ipinfo.io/", function() {}, "jsonp").always(function(resp) {
var countryCode = (resp && resp.country) ? resp.country : "";
success(countryCode);
});
},
});
input.addEventListener('countrychange', function () {
$('#country').val(iti.getSelectedCountryData().iso2);
});
$('#redirform').on('submit',function(){
var $input = $(this).find("input[name=country]");
$('#country').val(iti.getSelectedCountryData().iso2);
});
这是我拥有的和我需要的图片: PICTURE CLICK TO OPEN
您似乎需要从国际输入中获取选定的国家/地区值。 您不需要在 HTML.
中添加国家/地区输入 var intl = window.intlTelInput(input, {
initialCountry: "auto",
geoIpLookup: function(success, failure) {
$.get("https://ipinfo.io/", function() {}, "jsonp").always(function(resp) {
var countryCode = (resp && resp.country) ? resp.country : "";
success(countryCode);
});
},
});
$('#redirform').on('submit', function(e) {
e.preventDefault();
var countryData = iti.getSelectedCountryData();
var form = $('#form');
form.append($("<input>").attr("type", "hidden").attr("name", "country").val(countryData.iso2));
form.submit();
});
在提交表单时,会创建隐藏输入并设置值,因此您无需担心。
因为您已经告诉您需要将国家/地区值输入 URL,所以表单将以 GET 方式提交,因为表单的方法是 GET。
希望对您有所帮助。谢谢。