Autor Zpráva
Flexa
Profil
zdravím
potřebuji poradit jak v js zpracovat následující část formu

<input name="vyrobni_cislo[1]" type="text">
<input name="vyrobni_cislo[2]" type="text">
<input name="vyrobni_cislo[3]" type="text">
<input name="vyrobni_cislo[4]" type="text">


například toto nefunguje (je to část kontroloní funkce)

for(f=1;f<=4;f++){
	// je zadano sn stroje
	if(formular.vyrobni_cislo_field[f].value.length > 0){
		// duplicitni sn stroje
		if(in_array(formular.vyrobni_cislo_field[f].value,allMachinesSn)){
			alert("hodnota neni unikatni");
			formular.vyrobni_cislo_field[f].focus();
			return (false);
		}
	}
}


nevíte někdo jak to zprovoznit?
Leo
Profil
JavaScript má fci in_array? Leo
Flexa
Profil
ne, ta je moje - funguje stejne jako v php
chyba je uz v tomhle
formular.vyrobni_cislo_field[f].value.length
_es
Profil
Flexa:
funguje stejne jako v php
Možno nefunguje, čo obsahuje premenná allMachinesSn?

například toto nefunguje (je to část kontroloní funkce)
Vytváraš globálnu premennú f, ktorú ti môže nejaká iná funkcia alebo kód prepisovať.
Lokálne premenné sa definujú cez príkaz var.

chyba je uz v tomhle
formular.vyrobni_cislo_field[f].value.length
Pozri si, ako sa pristupuje k prvkom formulára, možno ti tá vlastná funkcia in_array na nič nebude.

Lepšie je dávať odkaz na stránku s problémom, než neúplné informácie.
Flexa
Profil
ukázku dát nemůžu, protože je to součásní kódu, který nemůžu šířit

funkce funguje stejně jako v php - používám ji úspěšně i v jiných skriptech

proměnná allMachinesSn je JS pole se vsemi sn co jsou v systému

hledal jsem nějaké ucelené informace jak pracovat s polem v js, ale nedokázal jsem najít zdroj, kde bych našel co jsem hledal... uznávám, že chyba je asi na mé straně, nicméně to tak je

vím že nefunguje ani toto, proto tvrdím, že chyba je už v formular.vyrobni_cislo_field[f].value

for(f=1;f<=4;f++){
    alert(formular.vyrobni_cislo[f].value);
}


stačí mi jen, když mi někdo prozradí, jak získám obsah toho formulářového pole... víte to někdo?
Chamurappi
Profil
Reaguji na Flexu:
hledal jsem nějaké ucelené informace jak pracovat s polem v js
Ty <input>y, které uvádíš, netvoří v JS pole. Nezáleží na tom, v jakém formátu mají svá jména a jaký význam se rozhodlo přiřadit těm hranatým závorkám PHP.
Víš, že místo zápisu formulář.prvek můžeš použít i formulář["prvek"]? Jméno prvku si tedy můžeš poskládat jako řetězec.

K odkazování na živou ukázku:
ukázku dát nemůžu, protože je to součásní kódu, který nemůžu šířit
Tak součásti, které nemůžeš šířit, nešiř a ukaž jen to, co šířit můžeš a co nefunguje. Pokud nemůžeš šířit ani tu malou část, co nefunguje, tak máme nekompletní zadání a můžeme buď správně uhodnout to, co nesmíš šířit, nebo se na to vybodnout.
Flexa
Profil
Chamurappi:
Víš, že místo zápisu formulář.prvek můžeš použít...
nevím - to je přesně ta informace, kterou potřebuji - tušil jsem že to bude fungovat nějak takhle

Tak součásti, které nemůžeš šířit, nešiř a ukaž jen to, co šířit můžeš a co nefunguje.
on ten formulář má hooodně položek a přišlo mi zbytečné zaplácat tady dvě strany kódem... příště se polepším

za radu moc děkuji!
Chamurappi
Profil
Reaguji na Flexu:
přišlo mi zbytečné zaplácat tady dvě strany kódem... příště se polepším
To zase ne, dlouhé kódy sem nekopíruj, spíš posílej odkaz na živou ukázku problému (což nemusí být tajná stránka s tajným obsahem).

tušil jsem že to bude fungovat nějak takhle
Ještě podotknu, že to tak funguje u všech objektů, ne jen u formulářů.
Flexa
Profil
Chamurappi:
což nemusí být tajná stránka s tajným obsahem
jasné

Ještě podotknu, že to tak funguje u všech objektů
díky - mimochodem máš nějaký oblíbený a erudovaný zdroj informací o js?

ještě info - pak už to fungovalo na první pokus...
_es
Profil
Flexa:
Aj "slová" v kóde, ktorý si tu vložil, sú odkazy na dokumentáciu JS alebo HTML.
Veľa vecí, v češtine, sa dá nájsť na www.jakpsatweb.cz/javascript/
Chamurappi
Profil
Reaguji na Flexu:
mimochodem máš nějaký oblíbený a erudovaný zdroj informací o js?
Ne. Ale mám čím dál větší chuť nějaký napsat.
Smutné je, že zrovna ta finta, která ti pomohla, se špatně hledá. Už jsem ji tady na diskusi zmiňoval mnohokrát, chtěl jsem ti proto původně hodit jen odkaz na svá starší slova, ale nenašel jsem je :-)
Flexa
Profil
tak to jsem rád, že ta chyba v hledání zdroje nebyla jen na mé straně, ale že i autor textu má problém najít svoje dílko... :-)

_es:
Veľa vecí, v češtine, sa dá nájsť na www.jakpsatweb.cz/javascript/ ;
samozřejmě znám - ale už se mi tam nedaří nacházet odpovědi na své otázky - těžko říct, jestli je to tím, že tam nejsou odpovědi, nebo se tam jen nevyznám...
Toto téma je uzamčeno. Odpověď nelze zaslat.