我尝试将表单的长度存储在变量上,但它不起作用。这是我第一次尝试使用javascript。
var lista = new Array();
var numOfEl = document.psonia.elements.length;
function ektipwsi() {
for(var i=0; i < numOfEl ; i++){
if(document.psonia.elements[i].checked) {
lista.push(document.psonia.elements[i].value);
}
};
我也尝试过getElementById或getElementByTag而没有运气。 这是我使用的整个表格
<div>
<form name="psonia">
<div class = "laxanika">
<h2 class="epik">Λαχανικά</h2>
<div class="transp">
<input type="checkbox" value="Ντομάτες">Ντομάτες<br>
<input type="checkbox" value="Πατάτες">Πατάτες<br>
<input type="checkbox" value="Αγγούρια">Αγγούρια<br>
<input type="checkbox" value="Μελιτζάνες">Μελιτζάνες<br>
<input type="checkbox" value="Κρεμμύδια">Κρεμμύδια<br>
<input type="checkbox" value="Κρεμ.Στιφ.">Κρεμ.Στιφ.<br>
<input type="checkbox" value="Μαρούλι">Μαρούλι<br>
<input type="checkbox" value="Λάχανο">Λάχανο<br>
<input type="checkbox" value="Πιπεριές">Πιπεριές<br>
<input type="checkbox" value="Φλωρίνης">Φλωρίνης<br>
<input type="checkbox" value="Σκόρδα">Σκόρδα<br>
<input type="checkbox" value="Ρόκα">Ρόκα<br>
<input type="checkbox" value="Κολοκύθια">Κολοκύθια<br>
<input type="checkbox" value="Μανιτάρια">Μανιτάρια<br>
</div>
</div>
<div class="kreata">
<h2 class="epik">Κρέατα</h2>
<div class="transp">
<input type="checkbox" value="Λαιμός">Λαιμός<br>
<input type="checkbox" value="Χοιρινές">Χοιρινές<br>
<input type="checkbox" value="Μοσχαρίσιες">Μοσχαρίσιες<br>
<input type="checkbox" value="Παϊδάκια">Παϊδάκια<br>
<input type="checkbox" value="Κοτόπουλο">Κοτόπουλο<br>
<input type="checkbox" value="Μοσχάρι">Μοσχάρι<br>
<input type="checkbox" value="Κατσίκι">Κατσίκι<br>
<input type="checkbox" value="Κιμάς">Κιμάς<br>
</div>
<div class="galaktokomika">
<h2 class="epik">Γαλακτοκομικά</h2>
<div class="transp">
<input type="checkbox" value="Γάλα">Γάλα<br>
<input type="checkbox" value="Γιαούρτι">Γιαούρτι<br>
<input type="checkbox" value="Βούτυρο">Βούτυρο<br>
<input type="checkbox" value="Ρεγκάτο">Ρεγκάτο<br>
<input type="checkbox" value="Κρέμα γάλακτος">Κρέμα γάλακτος<br>
<input type="checkbox" value="Τζατζίκι">Τζατζίκι<br>
<input type="checkbox" value="Τυροκαφτερή">Τυροκαφτερή<br>
<input type="checkbox" value="Αυγά">Αυγά<br>
</div>
</div>
</div>
<div class="thalassina">
<h2 class="epik">Θαλασσινά</h2>
<div class="transp">
<input type="checkbox" value="Γαρίδες">Γαρίδες<br>
<input type="checkbox" value="Μύδια">Μύδια<br>
<input type="checkbox" value="Καλαμάρι">Καλαμάρι<br>
<input type="checkbox" value="Θαλασσινά">Θαλασσινά<br>
<input type="checkbox" value="Αθερίνα">Αθερίνα<br>
</div>
</div>
</form>
答案 0 :(得分:2)
您正在引用您需要的所有内容:
document.psonia.elements
是HTMLFormControlsCollection
,与所有集合一样,它与数组类似,具有length
属性。
document.psonia.elements.length
<强>更新强>
我不知道你在问什么。我将您的表单剪切并粘贴到我的编辑器中,并使用我的search
函数查找您拥有的input
元素的数量。我的编辑发现 35 。
console.log(document.psonia.elements.length);
也会返回 35 。
答案 1 :(得分:0)
尝试类似
的内容var allElements = document.getElementsByTagName('*');
for (var i=0;i<allElements.length;i++){
//console.log(allElements[i].id)
}
答案 2 :(得分:0)
我移动了函数内部元素的计数器,现在它正常工作。谢谢!
function ektipwsi() {
var numOfEl = document.psonia.elements.length;
for(var i=0; i < numOfEl ; i++){
if(document.psonia.elements[i].checked) {
lista.push(document.psonia.elements[i].value);
}
};