| Autor | Zpráva | ||
|---|---|---|---|
| Úl Profil * |
#1 · Zasláno: 20. 8. 2006, 15:20:32
Cuzz, nevíte kde mám v tomto triviálním kódu chybu ?
... document.getElementById('tlacitka').innerHTML = '<button onclick="">Vložita zavžít</button><br />' + '<button onclick="top.barva(\'<span style=\\\'color:#' + barva + ';\\\'></span>\')">Vložit</button><br />' + '<button onclick="top.zavrit(1)">Zavřít</button>'; ... function barva(barva) { document.getElementById('area').innerHTML += barva; } ... |
||
| djlj Profil |
#2 · Zasláno: 20. 8. 2006, 15:24:22
Prvně bych se podíval do konzole FF nebo Opery.
Ale nemá být ten řádek v té fci bez toho pluska? |
||
| Úl Profil * |
#3 · Zasláno: 20. 8. 2006, 15:28:00
djlj - Nemá, protože kdyby tam nebyl tak by se pokaždé celý obsah <textarea> přepsal tím, co člověk vkládá.
|
||
| habendorf Profil |
#4 · Zasláno: 20. 8. 2006, 15:30:36
No já bych to napsal celé jinak, ale pro začátek to dej celé na jeden řádek.
|
||
| Úl Profil * |
#5 · Zasláno: 20. 8. 2006, 15:33:40
habendorf - Jasně, ale proč ? Jen to ztratí přehlednost.
|
||
| peta Profil * |
#6 · Zasláno: 21. 8. 2006, 16:18:37
Úl
1. odkaz na stranku - bez toho proste smula u takhle sloziteho kodu, kde vkladas script do scriptu a to cele jeste do textarea? Ale to jen hadam, to tam nikde neni napsane 2. co ti hlasi JS konzola?, viz djlj 3. regularni vyraz se pise: "aaa" nebo "/aaa/" nebo /aaa/ , cili kdyz chces normalni lomitko, tak jej musis zalomitkovat "\/aaa\/" 4. do BUTTON vkladat SPAN tag? To jsem teda nikde nevidel, to by snad ani nemelo fungovat, ne? 5. ID = "area", to se mi moc nezda jako vhodny nazev, neni to nejaka JS funkce? redeji bych pouzil "area1". Ale bez zbytku stranky nelze posoudit... 6. function barva(barva) tohle mi prijde jako cyklycke volani funkce, samu sebe... barva(); === barva; cili barva(barva()) === barva(barva) //protoze parametr nemusis zadavat muze mit docela zajimavy vysledek... Ale asi to v tomto pripade je spravne, protoze se jedna o deklaraci 7. viz habendorf, ja bych to zas napsal podobne jako ty, ale s tim, ze kazde to button, mozna i ten span na novem radku. Kdezto ty zacnes button, pak zacnes span a vse konci na novem radku... djlj JS konzola Opery neni moc dobra, tak jako u IE. Ale rozhodne se lepsi hleda :) |
||
| Chamurappi Profil |
#7 · Zasláno: 22. 8. 2006, 21:33:06
Reaguji na petu:
„regularni vyraz se pise: "aaa" nebo "/aaa/" nebo /aaa/“ Ne. Kde vůbec bereš tahle moudra? Ze zkušeností určitě ne, "/aaa/" ti nikdy žádný prohlížeč jako regulární výraz vzít nemohl. „kdyz chces normalni lomitko, tak jej musis zalomitkovat "\/aaa\/"“ Ne. Píšeš tuhle blbost všude. Co kdyby sis to ověřil? „do BUTTON vkladat SPAN tag? To jsem teda nikde nevidel, to by snad ani nemelo fungovat, ne?“ Mělo. Proč by ne? „ID = "area", to se mi moc nezda jako vhodny nazev, neni to nejaka JS funkce?“ Ne. I kdyby byla, nezáleží na tom. „barva(); === barva“ Ne. První je volání funkce, druhé je její reference (ukazatel). Bez závorek k zavolání nedojde. Ověř si to. Jsi sběratel a především tvůrce drbů. Kroť se. Reaguji na Úl: Předpokládám, že oba kusy skriptu operují v témže rámu, i když užíváš top. Chyba není v zápisu funkce, v deklaraci skutečně nevadí, když nazveš lokální proměnnou (argument) stejně jako funkci samotnou. Ke konfliktu v názvech ti ovšem jistojistě dochází v první části kódu. Když si to trochu zpřehledníme, do onclick nastavuješ přesně toto: top.barva('<span style=\'color:#' + barva + ';\'></span>'); Očekáváš funkci jménem barva v nejnadřazenějším window a proměnnou barva v současném window. Pokud současné window je nejnadřazenější, je v daném kontextu jen jeden identifikátor barva. Tedy barva, top.barva a window.barva je totéž. A nemůže to být současně řetězec a funkce. (I když funkce může mít vhodně napsanou metodu toString, ale to nechme stranou.) Zmýlil-li jsem se v předpokladu o top-rámu, chyba bude jinde. |
||
| peta Profil * |
#8 · Zasláno: 23. 8. 2006, 17:40:40
Chamurappi
„kdyz chces normalni lomitko, tak jej musis zalomitkovat "\/aaa\/"“ Ne. Píšeš tuhle blbost všude. Co kdyby sis to ověřil? ... overeno to mam, takze o tom nehodlam diskutovat. Proste si to delej po svym a ja si to budu poctive zalomitkovavat. Treba se mi to prave ted hodilo u tech regularnich vyrazu "Zmýlil-li jsem se v předpokladu o top-rámu, chyba bude jinde." To je presne muj styl. Take z toho kousku, co napsal, se da chyba jen a jen hadat. Fakt nechapu, proc se navazis do mne, kdyz pouzivas totez. :))) |
||
|
Časová prodleva: 20 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0