提交表单后如何从(国际电话输入)插件获取国家代码?

新手上路,请多包涵

我已经安装了插件,它可以正确显示国家并且工作正常,但是当我提交输入为 type = “tel” 的表单时,表单没有提交国家代码,我不知道这是怎么回事,但我确实阅读了 https://github.com/jackocnr/intl-tel-input 页面中的所有说明,但我不明白如何将完整的数字 + 代码国家放在一起,以便将它们插入 MySQL 数据根据。

我是初学者,只是对如何让它正常工作感到困惑。对不起,如果问题不是那么难,但我真的不知道这是怎么回事。

我拥有的 jQuery 代码:-

 $("#telephone").intlTelInput({
    initialCountry: "sd",
    separateDialCode: true
});

原文由 Maohammed Hayder 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 343
1 个回答

国际电话输入选项:

隐藏输入

添加具有给定名称的隐藏输入。或者,如果您的输入名称包含方括号(例如 name=“phone_number[main]“),那么它将为隐藏的输入赋予相同的名称,用给定的名称替换括号中的内容(例如,如果您使用 hiddenInput 初始化插件: “full”,那么在这种情况下,隐藏的输入将具有 name=“phone_number[full]”)。提交时,它会自动使用完整的国际号码填充隐藏的输入(使用 getNumber)。对于使用非 Ajax 表单的人来说,这是一种获取完整国际号码的快速方法,即使启用了 nationalMode 也是如此。使用 Ajax 表单时避免使用此选项,而只是调用 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>

PHP代码

你可以获得完整的数字

$phone_number = $_REQUEST['phone_number']['full'];

原文由 Ramesh 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏