Autor | Zpráva | ||
---|---|---|---|
dedleg Profil * |
#1 · Zasláno: 29. 8. 2007, 19:44:01
Mam naprikad kod:
<script language="javascript" type="text/javascript"> function bla(bla) { if(form.input.value=="f4g5dfh1") { if(form.input02.value="heslo") { CON = confirm("Tvoje meno a heslo boli zadane dobre Chces pokracovat ?"); if(CON) location="subor" } else { alert("Takto to nepojde kamos!") } else { alert("Takto to nepojde kamos!") } } </script> No ale subor sa nahra aj ked kliknem v confirme na Cancel Neviete ako by to fungovalo iba ked kliknem na OK? |
||
mstar Profil |
#2 · Zasláno: 29. 8. 2007, 22:42:40
to CON je asi bolean, že? Jakože javě moc nerozumím. Jen jsem přemíšlel, ... :
ad1. Jestli se dá porovnávat text použitím ==, nebo jestli by se nemělo použít něco jako strcmp() jako třeba v C++, nebo PHP ad2. Jestli není něco uloženýho v tom CON, možná by se to mělo nulovat před prvním IFem ad3. Podmínka (form.input02.value="heslo") bych řekl, že platí furt ad4. Jestli před druhým else nechybí } ...nevím, snad jsem tě aspoň trochu popostrčil, i když jsem asi moc konkrétní nebyl a akorát mlžil :-) |
||
centi Profil |
#3 · Zasláno: 30. 8. 2007, 00:18:29
dedleg
if(form.input02.value="heslo") V tejto druhej podmienke ti chýba jeden znak "=". Takto zapísaný výraz v podmienke vráti vždy TRUE, pretože sa nejedná o porovnanie, ale priradenie hodnoty. Ďalej tam máš trochu chaos s {} zátvorkami. Toto by malo fungovať:
|
||
Dedleg Profil |
#4 · Zasláno: 30. 8. 2007, 12:46:01 · Upravil/a: Dedleg
To som pisal narychlo cize na to druhe = som zabudol!
a to druhe esle tam musi byt, vy tukvasi to preto lebo ked sa obidve podmienky splnia tak predsa stoho snikne iba jedna akcia, ale ked jedna podmienka sedi a druha nie tak alert ten druhej zareaguage a tym padom su podmienky nesplnene asi by ti naseplo toto: http://www.script.szm.sk/login1.htm |
||
peta Profil |
#5 · Zasláno: 30. 8. 2007, 15:08:44
dedleg
Mas teda nekde odkaz na konecnou fazi? nejlepe odkaz, hure script tu Co pise JS konzola? (form.input02.value="heslo") tato podminka je splnena temer vzdy, jedna se o prirazeni hodnoty do promenne a obvykle se zadari, tj. alert((form.input02.value="heslo")*1) vyhodi temer vzdy 1 CIli, jak uz psali, chybi =, tj (form.input02.value=="heslo") nebo (form.input02.value==="heslo") dale ti psal centi problem se zavorkami. Nejjistejsi je psat Uplne vsechny zavorky, priklad tvoje: function bla(bla) { if(form.input.value=="f4g5dfh1") { if(form.input02.value="heslo") { CON = confirm("Tvoje meno a heslo boli zadane dobre Chces pokracovat ?"); if(CON) location="subor" } else { alert("Takto to nepojde kamos!") } else { alert("Takto to nepojde kamos!") } } To je jako function () { if (...) { if (...) {... if (...) ... } else {...} else {...} } ??? ... jedna zavorka ti schazi, toto vypise JS konzola kazdeho www prohlizece Jak se to pise poradne? Nejlepe mit take nejaky nastroj s hight-light syntax (zvyraznovani syntaxe) a poradne myslim vsechny zavorky: function () { if (...) { if (...) {... if (...) {...} } else {...} else {...} } } A ted dalsi vec, jestlize na 2 ify davas stejny vysledek, pak je muzes pojit andem if (... && ...) {... if (...) {...} } else {...} } if (... AND ...) {... if (...) {...} } else {...} } usetris si tim problemy se zavorkami, treba CON = confirm("Tvoje meno a heslo boli zadane dobre Chces pokracovat ?"); toto je naprosto zbytecna otazka. Pokud zada nekdo jmeno a heslo spravne a da ok, tak se zcela jiste chce prikhlasit a nemusis se ho znova ptat if (... AND ...) {...} else {...} } var prihlaseny = (... AND ...); if (prihlaseny) {...} else {...} } pro pozdejsi pouziti v dalsich scriptech |
||
Časová prodleva: 17 let
|
0