Autor Zpráva
unlucky
Profil
Ahoj, mám input quantity[0] az 4 a nedaří se mi získat value. Jak tomá správně vypadat?

edit: inputy mám name a id stejné. ZKoušel jsem getelementsbyid a nehlásí mi to nic


edit2: tak na konec jsem to po hodině našel.
var q="quantity[" + i +"]";
var s="selling_price[" + i + "]";
document.getElementsByName(q).value;


Děkuji

            var x = document.getElementById('nr_products').value;
            
            for (var i = 0; i < x; i++) {
                var alfa = document.getElementsByName("quantity")[i].value;
                var beta = document.getElementsByName("selling_price")[i].value;
                k = k + (alfa * beta );
            }
            alert (k);
Kajman
Profil
unlucky:
tak na konec jsem to po hodině našel
A nechybí tam ještě [0], aby to vzalo první prvek z nalezených elementů? I když to nalezne jen jeden, metoda vrací NodeList.

document.getElementsByName(q)[0].value;
unlucky
Profil
Kajman:
s nulou mi to nefunguje. Není to dvourozměrné pole.

function totalPrice() {
            var k = 0;  //starting price
            var x = document.getElementById('nr_products').value;  //number of products
            
            for (var i = 0; i < x; i++) {
                var q="quantity[" + i +"]";
                var s="selling_price[" + i + "]";                
                var alfa = document.getElementById(q).value; 
                var beta = document.getElementById(s).value;
                k = k + (alfa * beta );
            }
                                         
            document.getElementById("output").value = k; //input text type    
            document.getElementById("output").innerHTML = k; //any other type like <div>
 
        }
Kajman
Profil
unlucky:
getElementsByName vrací NodeList, proto by neměl fungovat kód z edit2 v [#1]


Takže buď použít hledání dle id, jak v [#3] nebo se odkázat na první prvek z NodeListu vzniklým hledáním dle name díky indexu nula.
Živá ukázka

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0