0

我在尝试将多个 hiddenInput 字段添加到 intl-tel-input 时遇到问题

包github:https ://github.com/jackocnr/intl-tel-input

我试过的代码:

<script>
  var phone_number = window.intlTelInput(document.querySelector("#phone_number"), {
  preferredCountries:["al"],
  hiddenInput: "['iso','code']", // Output: "['iso','code']" => "+355123123"
  utilsScript: "//cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.3/js/utils.js"
});
$("form").submit(function() {
    var isoCode = phone_number.getSelectedCountryData().iso2;
    var dialCode = phone_number.getSelectedCountryData().dialCode;
    var iso = $("input[name='phone[iso]'").val(isoCode);
    var dial = $("input[name='phone[dial]'").val(dialCode);
});

</script>

我为 hiddenInput 尝试的另一个代码:

hiddenInput: "dialCode",
hiddenInput: "isoCode",

输出是它只读取了 isoCode,完全忽略了 dialCode。

我已经没有关于如何解决这个问题的想法了。

4

1 回答 1

0

找到解决方案,包默认情况下只允许在 hiddenInput 中保存一个字段,如包维护者所述。

我不得不回到 Javascript 的基础,并在提交之前简单地附加一个输入。

这条线拯救了我的一天:

$("<input />").attr("type", "hidden")
          .attr("name", "code")
          .attr("value", dialCode)
          .appendTo("#form");
      return true;
于 2020-11-13T16:24:35.617 回答