我已经安装了插件,它显示正确的国家和工作良好,但当我提交的表单,有类型=“电话”的输入,表单没有提交国家代码,我不知道这是如何工作的,但我确实读了所有的说明在https://github.com/jackocnr/intl-tel-input页面,但我不知道如何获得完整的数字+代码国家一起,以便我可以插入到MySQL数据库中。
我还是个初学者,只是对如何让它工作得更好感到困惑。如果问题不是那么难,很抱歉,但我真的不知道这是如何工作的。
我拥有的jQuery代码:
$("#telephone").intlTelInput({
initialCountry: "sd",
separateDialCode: true
});发布于 2020-07-09 20:17:42
intlTelInput选项:
hiddenInput
添加具有给定名称的隐藏输入。或者,如果您的输入名称包含方括号(例如,完整“phone_numbermain”),那么它将为隐藏输入提供相同的名称,将括号中的内容替换为给定的名称(例如,如果您使用hiddenInput:“name=”初始化插件,则在这种情况下,隐藏输入将具有name="phone_numberfull")。在提交时,它将使用完整的国际号码(使用getNumber)自动填充隐藏输入。对于使用非Ajax表单的用户来说,这是一种快速获取完整国际号码的方法,即使启用了nationalMode也是如此。在使用Ajax forms时,请避免使用此选项,而只需调用getNumber来获取完整的国际号码,以便在请求中发送。注意:要求输入位于表单元素内,因为此功能通过侦听最近的表单元素上的提交事件来工作。还要注意,因为这在内部使用了getNumber,所以首先它需要utilsScript选项,其次它需要一个有效的数字,因此只有在验证之后才能使用。
var phone_number = window.intlTelInput(document.querySelector("#phone_number"), {
separateDialCode: true,
preferredCountries:["in"],
hiddenInput: "full",
utilsScript: "//cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.3/js/utils.js"
});
$("form").submit(function() {
var full_number = phone_number.getNumber(intlTelInputUtils.numberFormat.E164);
$("input[name='phone_number[full]'").val(full_number);
alert(full_number)
});<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.3/css/intlTelInput.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.3/js/intlTelInput.min.js"></script>
<body>
<form>
<input type="tel" name="phone_number[main]" id="phone_number" />
<button type="submit" name="save">Save</button>
</form>
</body>
代码
你可以像这样得到完整的数字
$phone_number = $_REQUEST['phone_number']['full'];发布于 2017-08-11 00:39:38
使用以下内容提交表单:
HTML:
<form action="post">
<div class="select">
<input type="hidden" id="phone2" name="phone"/>
<input type="tel" id="phone" name="phone-full">
</div>
</form>JAVASCRIPT:
$("form").submit(function() {
$("#phone2").val($("#phone").intlTelInput("getNumber"));
});发布于 2019-07-02 02:06:51
在你发布的链接中搜索了一下,我发现一个nice example正在做你问的事情
从这个例子中得到一些启发,下面是代码
HTML
<form action="post">
<div class="select">
<input type="hidden" id="country" name="country"/>
<input type="tel" id="phone" name="phone">
</div>
</form>JS
var input = $('#phone');
var country = $('#country');
var iti = intlTelInput(input.get(0))
// listen to the telephone input for changes
input.on('countrychange', function(e) {
// change the hidden input value to the selected country code
country.val(iti.getSelectedCountryData().iso2);
});https://stackoverflow.com/questions/41910786
复制相似问题