Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何找到表单中元素的总数?_Javascript - Fatal编程技术网

Javascript 如何找到表单中元素的总数?

Javascript 如何找到表单中元素的总数?,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

我尝试将表单的长度存储在变量上,但它不起作用。这是我第一次尝试使用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);
        }
    };  
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位于页面底部,在呈现完所有内容后,或在某种事件处理程序中。