Proměnná v názvu proměnné – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Proměnná v názvu proměnné – JavaScript, AJAX, jQuery – Fórum – Programujte.comProměnná v názvu proměnné – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

soudruh0
Newbie
26. 12. 2008   #1
-
0
-

Zdravím,
řeším tu jednu funkci

function prepocitat(idecko)

{
document.forms.formular.penalizace_idecko.value= "HODNOTA";
}

A chtel bych aby když volám funkci prepocitat('1') , tak aby se ta hodnota nastavila políčku penalizace_1.
Poradí někdo jak to zavolat s tímto ideckem?

Nahlásit jako SPAM
IP: 82.100.63.–
forstec0
Návštěvník
26. 12. 2008   #2
-
0
-

To soudruh : Asi to není bůhvíjak elegantní a optimální, ale budiž:



function prepocitat(idecko)
{
var nazev="penalizace_" + idecko;
document.forms.formular.nazev.value= "HODNOTA";
}

Nahlásit jako SPAM
IP: 78.108.103.–
forstec
26. 12. 2008   #3
-
0
-

Je ve zvyku ke pristupu k prvkum pouzivat atribut ID, doporucuji pouzit ten.

Myslim ze bylo mozne k prvkum formulare pristupovat jednak pres ciselne indexy document.forms.formular.elements[cisloprvku] a napodobne i pres jmena document.forms.formular.elements[jmenoprvku], negarantuju, ze to je ale presne takhle.

Pri pouziti knihovky jQuery by jsi ho take mohl najit pomoci CSS selektoru ve stylu $("input[name=jmenoprvku]") nebo nejak tak.

Btw, tipuju, ze tu funkci prepocitat volaz z nejake udalosti primo z toho policka - pak muzes misto document.getElementById()
pouzit klicove sluvko this. Za nejlepsi bych povazoval predavat objekt this jako parametr.

To forstec: Neche se mi verit, ze by neco takoveho fungovalo, nevylucuju to, ale dost silne o tom pochybuju.

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
soudruh0
Newbie
26. 12. 2008   #4
-
0
-

Už jsem to vyřešil pomocí

function prepocitat(idecko)

{
pocet = 0;
i = 1;
y = idecko;
while(i <= 20)
{

jmeno = "body_"+y+"_"+i;
hodnota = document.getElementById(jmeno).value;
if(hodnota == 0)
{
pocet++;
}

i++;
}
penalizace = pocet * 5;
jmeno2 = "penalizace_"+idecko;
document.getElementById(jmeno2).value = penalizace;
}

Nahlásit jako SPAM
IP: 82.100.63.–
Nefaritus
~ Redaktor
+2
Posthunter
27. 12. 2008   #5
-
0
-

To soudruh : To y = idecko a pak používat y mi přijde zbytečný...můžeš rovnou používat parametr :)

Nahlásit jako SPAM
IP: 213.191.111.–
soudruh0
Newbie
27. 12. 2008   #6
-
0
-

To Nefaritus :
Překopíroval jsem základ z funkce z php a tam využívám i a y tak jsem použil to y a nechtělo se mi to přepisovat...

Nahlásit jako SPAM
IP: 82.100.63.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý