我想在订阅表单中添加一个数字电话输入,并使用intlTelInput
库进行验证,这是我的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="flags.min.css">
<link rel="stylesheet" type="text/css" href="css2.css">
<link rel="stylesheet" type="text/css" href="bootstrap-social.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="build/css/intlTelInput.css">
<script src="google/jquery-1.11.1.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<div class="container">
<div class="row flex-grow">
<div class="col-xs-offset-1 col-xs-10 col-lg-12 col-lg-offset-0">
<div class="row" id="grad1">
<br>
<div class="col-xs-offset-1 col-xs-10 col-lg-offset-4 col-lg-4">
<form method="post" action="serv2.php" onsubmit="return submitForm(this);">
<fieldset>
<div class="row">
<div class="form-group phone">
<input type="tel" class="form-control" id="phone" name="phone" placeholder="Phone number" />
</div>
<div class="form-group country">
<input type="text" id="country" name="country" class="form-control" placeholder="Country" />
</div>
<div class="form-group col-lg-6 col-lg-offset-3">
<div>
<label for="bouton"><br></label>
<div>
<button type="submit" class="btn btn-default" style="background-color: #00B0F0; color:white; width: 100%;border:none;">Valider</button>
</div>
</div>
</div>
</div>
</fieldset>
</form>
</div>
</div>
</div>
</div>
</div>
</html>
</body>
<script src="build/js/intlTelInput.min.js"></script>
<script>
$("#phone").intlTelInput({
initialCountry: "auto",
geoIpLookup: function(callback) {
$.get('https://ipinfo.io', function() {}, "jsonp").always(function(resp) {
var countryCode = (resp && resp.country) ? resp.country : "";
callback(countryCode);
});
},
utilsScript: "build/js/utils.js"
});
var telInput = $("#phone"),
errorMsg = $("#error-msg"),
validMsg = $("#valid-msg");
telInput.intlTelInput({
utilsScript: "build/js/utils.js"
});
</script>
问题是手机输入不像国家那样占用表格的全宽。
我尝试使用document.getElementById('phone').style.minWidth = 100%;
更改它,但它删除了intlTelInput
库的操作(即不再有标记图标)。
有什么想法吗?
谢谢
答案 0 :(得分:1)
好的,我最终找到了答案,在文档中,只需将类intl-tel-input{width: 100%;}
添加到容器中
答案 1 :(得分:1)
将此添加到您的css代码
.intl-tel-input{
width: 100%;
}
答案 2 :(得分:0)
因此,我最近使用软件包ng2TelInput
将其添加到Angular项目中。所以我发现了同样的问题,我的CSS无法更改并被卡住。
即使您在CSS类中添加.iti { width: 100%; }
,也无法正常工作,如文档中所述。您必须转到以下路径(请确保您完全遵循该路径):
node_modules/intl-tel-input/build/css/intlTelInput.css
并在其中添加以下代码,然后它就可以工作。
.iti { width: 100%; display:block }
答案 3 :(得分:0)
.iti.iti--allow-dropdown { width: 100% }
例如,当在引导程序intl-tel-input
中使用form group/form-control
时,此方法有效:
<div class="form-group">
<label class="form-label" for="phone">Phone</label>
<input type="tel" class="form-control form-control-lg" id="phone">
</div>
答案 4 :(得分:0)
转到intlTelInput.min.css
文件并粘贴这两个类。
.intl-tel-input{
width: 100%;
}
.iti {
width: 100%;
}