Autor | Zpráva | ||
---|---|---|---|
Joan Profil |
#1 · Zasláno: 29. 7. 2010, 15:28:42 · Upravil/a: Joan
Příkazu SWITCH rozumím a čítankový příklad samotného scriptu s vypsáním pomocí document.write, ale bez použití formuláře je jasný.
1) Jenomže při spojení s formulářem se mi vypisuje jen a pouze hodnota, kterou mám uvedenou na začátku jako proměnnou. JS konzola se tváří spokojeně, ale někde tam musím mít školáckou chybu. 2) jak se "zapojí" tlačítko Enter, aby hned od vložení první hodnoty do inputu suplovalo tlačítko Submit? Zatím mi po použití Enteru vložený text úplně zmizí. Díky! |
||
Samsonweb Profil * |
#2 · Zasláno: 29. 7. 2010, 15:46:23
Funkci musíte předat parametr.
function nakup(ovoce) { switch(ovoce) { <input type="submit" value="Vepiš požadované ovoce" onclick="nakup(this.parentElement.ovoce.value);"> |
||
Witiko Profil |
#3 · Zasláno: 29. 7. 2010, 15:46:36 · Upravil/a: Witiko
Zdravím naši javascriptovou geek. :)
Kromě toho, že ovoce je nedeklarovaná globální proměnná, tak zásadní chyba skutečně je školácká: document.pokus.ovoce.value = "jablka" místo document.pokus.ovoce.value == "jablka" Příïřazuješ místo testování hodnoty, navíc if uvnitř switch snad není vůbec nutný, nechápu důvod použití - switch jako takový je elegantním nahrazením if a else. Kód by měl podle mého vypadat takto: function nakup(ovoce) { switch(ovoce) { case "jablka" : { alert("Jablka stojí 19kč/kg"); break; } case "pomeranče" : { alert("Pomeranče stojí 22kč/kg"); break; } case "banány" : { alert("Pomeranče stojí 18kč/kg"); break; } case "švestky" : { alert("Švestky stojí 32kč/kg"); break; } default : alert("Bohužel pro "+ovoce+" musíte \n někam jinam..."); } } Jinak příště hoď kód rovnou sem. |
||
Joan Profil |
#4 · Zasláno: 29. 7. 2010, 23:50:07 · Upravil/a: Joan
Witiko:
Také zdravím! Celé webové programování je tak zajímavé hraní :-) . Dlouho jsem programátory považovala za tvory podobné šamanům (včetně mého tatínka). ...tak zásadní chyba skutečně je školácká... Si sypu popel na hlavu, na tohle už nezapomenu, díky Ti S tou deklarací proměnné ovoce si ale vážně nevím rady, protože když ji vynechám, tak dostávám alert s hláškou zobrazenou níže a když zadám natvrdo var ovoce = "cokoliv" tak vždycky toto dostanu v alertu. Čili ta do inputu vepsaná hodnota se mi stále nepředává. Protože onclick="nakup(this.parentElement.ovoce.value);" způsobil, že formulář úplně přestal reagovat, tak jsem s patřičnými změnami nechala původní function nakup(ovoce) { switch(ovoce) { case "jablka" : { window.alert("Jablka stojí 19kč/kg"); break; } case "pomeranče" : { window.alert("Pomeranče stojí 22kč/kg"); break; } case "banány" : { window.alert("Pomeranče stojí 18kč/kg"); break; } case "švestky" : { window.alert("Švestky stojí 32kč/kg"); break; } default : window.alert("Bohužel pro "+ovoce+" musíte \n někam jinam..."); } } a ať jsem vyplňovala, co mě napadlo, dostala jsem vždy vskutku kouzelnou hlášku: a škoda, že už nenapsal kam... Jinak v učebnici se "ručně" měnil druh ovoce přímo v samotném scriptu, takže to šlapalo a autor (Rastislav Škultéty) tam měl jen ty vyznačené složené závorky (function jsem si přidala já). Samsonweb value="Vepiš požadované ovoce" toto bych prosila aspoň částečně přeložit! Jinak příště hoď kód rovnou sem. Poctivě jsem se řídila napsaným pravidlem: "...nezapomínejte odkázat na živou ukázku!" EDIT: Heč, přišla jsem na to dneska ráno sama :-)) Proměnnou ovoce jsem uvnitř funkce deklarovala jako var ovoce = document.pokus.ovoce.value; onClick="nakup();" a dělá to přesně to, co má Hezký den! |
||
Časová prodleva: 3 dny
|
|||
Witiko Profil |
#5 · Zasláno: 1. 8. 2010, 22:27:13
Joan:
"Poctivě jsem se řídila napsaným pravidlem: "...nezapomínejte odkázat na živou ukázku!"" Ale napsané pravidlo "Je-li to možné, zadejte co nejvíce podrobností. Ideálně ukázku kódu..." jsi už minula :D Kouzelná hláška na mě dělá dojem, jako bys jako argument nepředávala document.pokus.ovoce.value, ale samotný pointer na <input> element - document.pokus.ovoce. :) Do budoucna radím navyknout si psát události malými písmeny, tzn. onclick. Jde o zlozvyk, který může způsobit u určitých prohlížečů problémy. Osobně na sebe také nahlížím jako na Šamana, alespoň to byla jediná třída ve World of Warcraft za kterou dle mého mělo smysl hrát (pokud mohu za tu dobu co jsem hru hrával soudit), ale to odbočujeme od tématu. :) |
||
Časová prodleva: 14 let
|
0