我想知道什麼是驗證的最佳方法(以確保所有4個輸入框都不爲空)?僅使用Javascript驗證強制輸入框
<html>
<head></head>
<body>
<input type="text" id="i1">
<input type="text" id="i2">
<input type="text" id="i3">
<input type="text" id="i4">
</body>
</html>
我想知道什麼是驗證的最佳方法(以確保所有4個輸入框都不爲空)?僅使用Javascript驗證強制輸入框
<html>
<head></head>
<body>
<input type="text" id="i1">
<input type="text" id="i2">
<input type="text" id="i3">
<input type="text" id="i4">
</body>
</html>
如果他們都被input
當時的你可以使用document.getElementsByTagName
var allinputs = document.getElementsByTagName("input");
console.log(allinputs);
for (var i = 0; i < allinputs.length; i++) {
if(allinputs[i].value.length == 0){
alert('need to have something here');
return;
}
}
這裏是一個working fiddle
JQuery驗證是一種非常簡單的驗證字段的方法。
HTML:
<input type="button" value="submit" onclick="submitForm()">
JavaScript的:你可以在自己的維基閱讀更多關於它
function submitForm()
{
if(validate())
{
alert('No blank found!!');
}
else
{ alert('blank found!!'); }
}
function validate()
{
var i1 =document.getElementById('i1').value;
var i2 =document.getElementById('i2').value;
var i3 =document.getElementById('i3').value;
var i4 =document.getElementById('i4').value;
var result = false;
if(i1 && i2 && i3 && i4) {
result = true;
}
return result;
}
我的自定義的方法,而不是跨瀏覽器:
NodeList.prototype.every = HTMLCollection.prototype.every = Array.prototype.every;
var allChecked = document.querySelectorAll('input[type=text]').every(function(el) {
return el.value !== '';
});
if (allChecked) alert("All checked!");
跨瀏覽器(IE8及以上),而不是有趣的方式:
var inputs = document.querySelectorAll('input[type=text]');
var allChecked = true;
for (var i = 0, len = inputs.length; i < len; i++) {
if (inputs[i].value === '') {
allChecked = false;
}
}
if (allChecked) alert("All checked!");
他提到他只想用JavaScript而不用其他人(JQuery)來回答。 – sunleo
JQuery與JavaScript有什麼不同?它只是JavaScript。爲什麼試圖發明更糟糕的車輪? – Tobias
我喜歡提醒你,有一些js庫像jQuery一樣可用。 – sunleo