Autor | Zpráva | ||
---|---|---|---|
Divally Profil * |
#1 · Zasláno: 9. 11. 2010, 13:30:04
Ahoj všem,
jsem začátečník v JS a pořád se mi nedaří rozpohybovat jednoduchý script, tak Vás chci požádat o pomoc. Mám například jednoduchý kód: <form name="form"> <p>Vyber stránku</p> <input type="radio" name="www" value="youtube" onclick="vyber(this.value);">Youtube<br> <input type="radio" name="www" value="wiki" onclick="vyber(this.value);">Wikipedia<br> <input type="radio" name="www" value="seznam" onclick="vyber(this.value);">Seznam<br> <input type="radio" name="www" value="apple" onclick="vyber(this.value);">Apple<br> <input type="button" value="Hledej" onclick="otevri()"> </form> <script type="text/javascript"> function vyber(zvolena){ stranka = zvolena; } var youtube = www.youtube.com var wiki = www.wikipedia.org var seznam = www.seznam.cz var apple = www.apple.com function otevri(){ window.open("http://"+stranka, "_blank"); } </script> A cílem je např. při zatrhnutí radia Youtube, aby se otevřela stránka youtube.com. Vím že by to fungovalo kdyby např. "www.youtube.com" bylo ve "value" a pote uz tam nemusi byt "var youtube = www.youtube.com". Ale vzhledem k tomu že těhle radií je ve skutečnosti mnooohem víc, tak bych chtěl aby ty konkretní adresy byly uložený někde v proměnných a kdykoli se se zavola fce otevri() tak by si adresu prevzala z promenny. Nejspíš je to pro většinu z Vás triviální. Díky za každou pomoc. |
||
Chamurappi Profil |
#2 · Zasláno: 9. 11. 2010, 14:06:31
Reaguji na Divallyho:
„jsem začátečník v JS“ Spíš obecně v programování. Zajímavé je, že v běžném textu dáváš řetězce do uvozovek, aby čtenář pochopil, že jde o speciální frázi, ale interpreterům JavaScriptu stejný komfort nedopřeješ. Jak by měl poznat prohlížeč, že www.youtube.com je řetězec a ne proměnná?
|
||
LosFilipos Profil |
#3 · Zasláno: 9. 11. 2010, 14:08:22
Takhle to bude fungovat:
<script type="text/javascript"> var stranka; function vyber(zvolena){ stranka = zvolena; } var adresa; function otevri(){ switch (stranka) { case 'youtube': adresa = 'www.youtube.com'; break; case 'wiki': adresa = 'www.wikipedia.org'; break; case 'seznam': adresa = 'www.seznam.cz' break; case 'apple': adresa = 'www.apple.com'; break; default: adresa = false; } if(adresa) { nove_okno = window.open('http://' + adresa,'_blank'); } else { return false; } } </script> |
||
Joker Profil |
#4 · Zasláno: 9. 11. 2010, 14:08:53 · Upravil/a: Joker
Divally:
Tak v první řadě, řetězce se uzavírají do uvozovek. Dále, takhle to nebude fungovat, respektive mi nějak uniká myšlenka, jak by to mělo fungovat. edit: Tak hned dva lidi byli rychlejší. |
||
Divally Profil * |
#5 · Zasláno: 9. 11. 2010, 21:14:04
Chamurappi a Joker:
Vím že se používají uvozovky. Chtěl jsem napsat jen krátký kus kódu který by ilustroval tu věc které chci docílit, ale při psaní mi ty uvozovky nějak vypadly :) Moje chyba omlouvám se. Každopádně ani s nima by to nefungovalo. Nevim jak docílit toho aby když zatrhnu youtube a kliknu na tlacitko, tak aby treba fce otevri() poznala jaky radio jsem zakrtl a podle toho doplnila do window.open() tu cast s adresou. A nechtel jsem psat ty adresy ke kazdymu radiu do value. LosFilipos: Děkuju za jednoduchou funkční odpověď :) |
||
Časová prodleva: 13 let
|
0