Autor | Zpráva | ||
---|---|---|---|
SNowie Profil * |
#1 · Zasláno: 25. 1. 2007, 13:31:04
mám možná drobný problém, ale nejsem ho schopen vyřešit
mám v javascriptu funkci barva(), která skrývá a zobrazuje cosi, to není důležité, každopádně je volána akcí onclick na radiobuttonu a teď k problému - pokud radiobuttony umístím mimo tag <form></form>, vše funguje jak má, avšak pokud je umístím uvnitř tagu, přestane skript fungovat chyby jsou následující: Internet explorer Chyba: Objekt tuto vlastnost nebo metodu nepodporuje (a zvýrazní se použitý "onclick") Opera JavaScript - xxx Event thread: click Error: Unhandled exception: [Object InternalException] code: 6 message: WRONG_ARGUMENTS_ERR Backtrace: Line 1 of script barva(); At unknown location [statement source code not available] Firefox naprosto nesmyslně - chyba: barva is not a function (?!) na řádku 1 (?!) vůbec nechápu jak z toho ven :( díky za pomoc |
||
SNowie Profil * |
#2 · Zasláno: 25. 1. 2007, 17:46:49
omlouvám se, jako rána z čistého nebe mě napadlo řešení a fungovalo, také jsem nenapsal zdroják (není to přesně on, jen taková vypreparovaná část)
<html> <head> <script type="text/javascript"><!-- function barvaj(){ var barva = document.getElementsByName('barva'); for(i=0;i<barva.length;i++){ var j = i + 1; var velikost = document.getElementById('velikosti'+j); if(barva[i].checked) velikost.style.display = 'block'; else velikost.style.display = 'none'; } } --></script> </head> <body> <form> <div id="velikosti1" style="display:block;">rozměry 1</div> <div id="velikosti2" style="display:none;">rozměry 2</div> <div id="velikosti3" style="display:none;">rozměry 3</div> <input type="radio" name="barva" onclick="javascript:barvaj();"> první barva<br/> <input type="radio" name="barva" onclick="javascript:barvaj();"> druhá barva<br/> <input type="radio" name="barva" onclick="javascript:barvaj();"> třetí barva<br/> </form> </body> když byla funkce v javascriptu pojmenována "barva" čili stejně jako název pole radiobuttonů, házelo to ve všech prohlížečích chyby, po změně názvu (na "barvaj") už vše v pořádku :) |
||
SNowie Profil * |
#3 · Zasláno: 25. 1. 2007, 17:48:08
samozřejmě i volání bylo změněno z "javascript:barva" na "javascript:barvaj", v tom chyba nebyla :)
|
||
Michal Till Profil |
#4 · Zasláno: 26. 1. 2007, 05:03:22
Naucte se volat udalosti poradne, zpusob onclick="javascript:" je obludarium.
V jQuery (www.jquery.com) byste to udelal takto $("input.barva").one("click",function() { ...obsah funkce barvaj... }); Takto si nebudete prznit HTML javascriptem. |
||
peta Profil |
#5 · Zasláno: 26. 1. 2007, 07:57:41
SNowie
viz Michal Till onclick samo o sobe je udalost javascriptu, tudiz mozna z nejakeho hodne stareho prohlizece funguje i onclick="javascript:barvaj();" ale pochybuji, ze to neco jako Opera uznava, takze jen (a strednik nemusi byt u jednoho prikazu, vypada to hezci): onclick="barvaj()" Odkaz na soubor by pomohl, priste... |
||
Časová prodleva: 2 měsíce
|
|||
SNowie Profil * |
#6 · Zasláno: 12. 3. 2007, 15:09:25
bere to IE, Firefox i Opera, ale bez javascript: to, pravda, vypadá lépe ... díky moc
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0