首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用javacscript和jquery在两个不同的输入字段中附加国家代码

如何使用javacscript和jquery在两个不同的输入字段中附加国家代码
EN

Stack Overflow用户
提问于 2022-06-02 10:34:59
回答 1查看 331关注 0票数 0

我只是试着用这两个字段分别添加两个国家代码,但不知怎么的,如果我尝试使用一个输入字段,它也会影响第二个输入字段。那么,它如何在两个单独的字段中工作呢?

代码语言:javascript
运行
复制
<div class="form-row">

    <div class="form-group col-md-6">
        <label for="contact1">SMS No.</label>
        <input type="tel" class="form-control" name="smsno" id="smsno" placeholder="Type contact1 number here...." pattern="[7-9]{1}[0-9]{9}" required />
        <div class="valid-feedback">Valid.</div>
        <div class="invalid-feedback">Please enter valid contact no.</div>
    </div>
    <div class="form-group col-md-6">
        <label for="contact2">WhatsApp No.</label>
        <input type="text" class="form-control" name="whtspno" id="whtspno" placeholder="Type contact2 number here...." pattern="[7-9]{1}[0-9]{9}" required />
        <div class="valid-feedback">Valid.</div>
        <div class="invalid-feedback">Please enter valid contact no.</div>
    </div>
</div>
<script src="{% static 'adminpanel/src/build/js/intlTelInput.js' %}"></script>
<script>
    (function() {
          'use strict';
          window.addEventListener('load', function() {
            // Get the forms we want to add validation styles to
            var forms = document.getElementsByClassName('needs-validation');
            // Loop over them and prevent submission
            var validation = Array.prototype.filter.call(forms, function(form) {
              form.addEventListener('submit', function(event) {
                if (form.checkValidity() === false) {
                  event.preventDefault();
                  event.stopPropagation();
                }
                form.classList.add('was-validated');
              }, false);
            });
          }, false);
        })();



        const phoneInputField = document.querySelector("#smsno");
        const phoneInputField2 = document.querySelector("#whtspno");
        const phoneInput = window.intlTelInput(phoneInputField, {
          
        });
        const phoneInput2 = window.intlTelInput(phoneInputField2, {
          
        }); 



        $(document).ready(function() {
          
          
          $('.iti__flag-container').click(function() { 
           
            var countryCode = $('.iti__selected-flag').attr('title');
            var countryCode = countryCode.replace(/[^0-9]/g,'');
            $('#smsno').val("");
            $('#smsno').val("+"+countryCode+" "+ $('#smsno').val());
            
         });
        
      });


        /*function country_code(){
          var val = document.getElementById("country").value;
          
          if (val === "select country"){
            document.getElementById("smsno").value = "";
          }
          else if(val === "us"){
            document.getElementById("smsno").value = "+1";
          }
          else if(val === "In"){
            document.getElementById("smsno").value = "+91";
          }
        }  */
</script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-03 02:47:46

我用您的代码创建了一个工作码:当单击标志时,国家代码会附加到输入中,并且它适用于这两个单独的字段。

我在..form group元素上使用了类smsFormwhatsappForm,这样我就可以在js代码中使用这些类作为选择器来识别单击哪个字段的标志。也可以使用:eq(0):eq(1)选择器。

代码语言:javascript
运行
复制
const phoneInputField = document.querySelector("#smsno");
const phoneInputField2 = document.querySelector("#whtspno");
const phoneInput = window.intlTelInput(phoneInputField, {});
const phoneInput2 = window.intlTelInput(phoneInputField2, {}); 
window.addEventListener('load', function() {
  // Get the forms we want to add validation styles to
  var forms = document.getElementsByClassName('needs-validation');
  // Loop over them and prevent submission
  var validation = Array.prototype.filter.call(forms, function(form) {
    form.addEventListener('submit', function(event) {
      if (form.checkValidity() === false) {
        event.preventDefault();
        event.stopPropagation();
      }
      form.classList.add('was-validated');
    }, false);
  });
}, false);
$(document).ready(function() {
  $('.smsForm .iti__flag-container').click(function() { 
    var countryCode = $('.smsForm .iti__selected-flag').attr('title');
    var countryCode = countryCode.replace(/[^0-9]/g,'');
    $('#smsno').val("");
    $('#smsno').val("+"+countryCode+" "+ $('#smsno').val());
  });
  $('.whatsappForm .iti__flag-container').click(function() {
    var countryCode = $('.whatsappForm .iti__selected-flag').attr('title');
    var countryCode = countryCode.replace(/[^0-9]/g,'');
    $('#whtspno').val("");
    $('#whtspno').val("+"+countryCode+" "+ $('#whtspno').val());
  });
});
代码语言:javascript
运行
复制
<link href="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.17/css/intlTelInput.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.0.2/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.17/js/intlTelInput.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.1.3/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="form-row">

    <div class="form-group col-md-6 smsForm">
        <label for="contact1">SMS No.</label>
        <input type="tel" class="form-control" name="smsno" id="smsno" placeholder="Type contact1 number here...." pattern="[7-9]{1}[0-9]{9}" required />
        <div class="valid-feedback">Valid.</div>
        <div class="invalid-feedback">Please enter valid contact no.</div>
    </div>
    <div class="form-group col-md-6 whatsappForm">
        <label for="contact2">WhatsApp No.</label>
        <input type="text" class="form-control" name="whtspno" id="whtspno" placeholder="Type contact2 number here...." pattern="[7-9]{1}[0-9]{9}" required />
        <div class="valid-feedback">Valid.</div>
        <div class="invalid-feedback">Please enter valid contact no.</div>
    </div>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72474796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档