Staram się przechowywać długość formularza na zmiennej, ale nie działa. To moja pierwsza próba z 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);
        }
    };  

Próbowałem też z gettelementByidem lub gettelementBytag bez szczęścia. To jest cała forma, której używam

<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>
-1
Panagiotis Iliakopoulos 14 sierpień 2014, 21:48

3 odpowiedzi

Najlepsza odpowiedź

Oddzieliasz się do wszystkiego, czego potrzebujesz, o którym potrzebujesz:

document.psonia.elements

To HTMLFormControlsCollection i jak wszystkie kolekcje, jest podobna do obiektu z length.

document.psonia.elements.length

Aktualizuj

Nie mam pojęcia, o co pytasz. Wycinam do mojego formularza do mojego edytora i używałem funkcji search, aby wyszukać liczbę elementów input. Mój edytor został znaleziony 35 .

console.log(document.psonia.elements.length);

Zwraca również 35 .

2
Jeremy J Starcher 14 sierpień 2014, 18:06

Spróbuj czegoś takiego

var allElements = document.getElementsByTagName('*');
for (var i=0;i<allElements.length;i++){
  //console.log(allElements[i].id)
}
0
Suresh 14 sierpień 2014, 17:54

Przesunąłem licznik elementów wewnątrz funkcji, a teraz to działa. Dziękuję!

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);
    }
};  
0
Panagiotis Iliakopoulos 14 sierpień 2014, 18:17