2012-11-20 20 views
0

我想知道什麼是驗證的最佳方法(以確保所有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> 

回答

1

如果他們都被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

0

JQuery驗證是一種非常簡單的驗證字段的方法。

http://docs.jquery.com/Plugins/Validation

+1

他提到他只想用JavaScript而不用其他人(JQuery)來回答。 – sunleo

+0

JQuery與JavaScript有什麼不同?它只是JavaScript。爲什麼試圖發明更糟糕的車輪? – Tobias

+0

我喜歡提醒你,有一些js庫像jQuery一樣可用。 – sunleo

0

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; 
    } 
+0

他沒有任何提交按鈕,他也沒有使用表單。所以你必須進行驗證「onchange」而不是「onsubmit」。 – Tobias

+0

請檢查我沒有任何提交按鈕只是提交名稱是全部 – sunleo

0

我的自定義的方法,而不是跨瀏覽器:

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!");