我只是试着用这两个字段分别添加两个国家代码,但不知怎么的,如果我尝试使用一个输入字段,它也会影响第二个输入字段。那么,它如何在两个单独的字段中工作呢?
<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>发布于 2022-06-03 02:47:46
我用您的代码创建了一个工作码:当单击标志时,国家代码会附加到输入中,并且它适用于这两个单独的字段。
我在..form group元素上使用了类smsForm和whatsappForm,这样我就可以在js代码中使用这些类作为选择器来识别单击哪个字段的标志。也可以使用:eq(0)和:eq(1)选择器。
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());
});
});<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>
https://stackoverflow.com/questions/72474796
复制相似问题