Javascript 如何找到表单中元素的总数?
我尝试将表单的长度存储在变量上,但它不起作用。这是我第一次尝试使用javascriptJavascript 如何找到表单中元素的总数?,javascript,Javascript,我尝试将表单的长度存储在变量上,但它不起作用。这是我第一次尝试使用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.pus
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);
}
};
var lista=new Array();
var numOfEl=document.psonia.elements.length;
函数ektipwsi(){
对于(var i=0;i
我还尝试了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>
Λαχανικά
Ντομάτες
∏ατάτες
γγγρα
ελτζνες
ρεμμδα
ρεμ∑τφ
αρλ
∧άχανο
ππερις
Φλωρη
∑κρΔα
κα
λκθα
Μαντρα
Κρέατα
∧αιμός
Χοιρινές
Μσχαρσε
∏αδκα
Κοτόπονλο
Μοσχάρι
ατσκ
Κιμάς
Γαλακτοκομικά
λα
Γιαορτι
Βούτορ
εεγκτ
ρρμαγλακτ
ζατζίκι
θροκαφτερή
ΑΑγά
Θαλασσινά
αρΔε
δα
αλαμρ
Θαλα∑∑∑νά
θερνα
您正在引用您需要的所有问题:
document.psonia.elements
是一个HTMLFormControlsCollection
,与所有集合一样,它是一个数组,具有length
属性
document.psonia.elements.length
更新
我不知道你在问什么。我将你的表单剪切并粘贴到我的编辑器中,并使用我的搜索
功能查找你拥有的输入
元素的数量。我的编辑器找到了35
console.log(document.psonia.elements.length);
还返回35尝试以下操作
console.log(document.psonia.elements.length);
var allElements = document.getElementsByTagName('*');
for (var i=0;i<allElements.length;i++){
//console.log(allElements[i].id)
}
var-allegements=document.getElementsByTagName('*');
对于(var i=0;i我移动了函数中元素的计数器,现在它工作了。谢谢
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);
}
};
函数ektipwsi(){
var numOfEl=document.psonia.elements.length;
对于(var i=0;i
也尝试过了,但也没有用这种方式工作…(感谢您的快速响应)然后,你必须用更多信息更新你的问题——主要是你正在使用的整个表单。我在函数中移动了var numOfEl,它可以工作。谢谢!基于此,我可以告诉你你的问题是什么:你计算numOfEl
太早了,页面还没有完成渲染。这些事情需要解决r位于页面底部,在呈现完所有内容后,或在某种事件处理程序中。