Autor | Zpráva | ||
---|---|---|---|
dufeja Profil |
#1 · Zasláno: 2. 8. 2008, 18:01:36
Potřeboval bych prosím pomoc. Mám tuto stránku http://www.babylon-pong.wz.cz/tipovacka, kde mi v pohodě funguje v Opeře i FF script na tipování zápasů a poté případné odstraňování tipů. V IE sice funguje přidávání, ale to odstraňování už ne. A ke všemu se mi to v pravém sloupci špatně formátuje. Přitom jsou ty scripty i formátování téměř stejné v obou sloupcích. Ke všemu explorer nehlásí žádnou chybu. Děkuji
|
||
centi Profil |
#2 · Zasláno: 2. 8. 2008, 23:24:27
dufeja
Formátovanie (class atribút) viz: http://blog.centi.sk/clanky/internet-explorer-ako-na-style-atribut-v-j avascripte Podobný problém bude i s priradením onclick atribútu. Lepšie bude namiesto atribútu priradiť rovno onclick udalosť, teda namiesto: soub.setAttribute('onclick',"odstran('"+domaci+"','"+hostujici+"',"+z apas+");"); použiť: soub.onclick = function() { odstran( domaci, hostujici, zapas ); }; |
||
peta Profil |
#3 · Zasláno: 3. 8. 2008, 12:04:55
jak uz jsem psal vcera nekdy poledne, ale nejaky pip mi to smazal. Tusim, ze to je zas prace Chamurapiho. Asi podam oficialni stiznost.
Otevru stranku, kliknu na remiza a JS konzola ve FF mi vyhodi 6 chyb. Pravdepodobne pro odstranovani chyb bys dosel k tomu, co napsal centi. |
||
dufeja Profil |
#4 · Zasláno: 3. 8. 2008, 16:13:41
Tak sem to zkusil a docela mi to teďka dělá neplechu.
|
||
peta Profil |
dufeja
pri klinku na tym2 Chyba: uncaught exception: [Exception... "Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIDOMHTMLDivElement.removeChild]" nsresult: "0x80004003 (NS_ERROR_INVALID_POINTER)" location: "JS frame :: http://www.babylon-pong.wz.cz/tipovacka/js.js :: pridej :: line 11" data: no] ... mas tam chybne zapsane, jak pracovat s ramem. A propo, k cemu tam mas ramy? |
||
centi Profil |
#6 · Zasláno: 4. 8. 2008, 10:03:58
dufeja
„Tak sem to zkusil a docela mi to teďka dělá neplechu.“ To bude tým, že si nespravil to čo som písal. "onclick" je obsluha udalosti, a hodnotou musí byť referencia na obslužnú funkciu, nie jej volanie. Takže vo funkcii odstran() si zmeň: document.getElementById(zap+'_1').onclick=pridej(domaci,hostujici,zap as,1); na document.getElementById(zap+'_1').onclick = function() { pridej(domaci,hostujici,zapas,1); }; A samozrejme rovnako upraviť i vo funkcii pridej() toto: soub.setAttribute('onclick', "...") |
||
Chamurappi Profil |
#7 · Zasláno: 4. 8. 2008, 11:09:01 · Upravil/a: Chamurappi
Reaguji na dufeju:
„document.getElementById(zap+'_1').onclick=pridej(domaci,hostujici,za pas,1);“ Přiřazuješ výsledek funkce „pridej“, nikoliv samotnou funkci. K vyhodnocení „pridej“ tedy dochází okamžitě při přiřazení uvnitř funkce „odstran“. Použij zápis, který doporučoval centi. Uvnitř funkce „pridej“ máš onclick přiřazený pomocí setAttribute, což v Exploreru nechodí, použij tedy opět zápis od centiho. Edit: Aha, tak už mě předběhl sám centi. Reaguji na petu: „nejaky pip mi to smazal“ Smazal jsem tě, protože jsi žvatlal nesmysly. Tazatel psal, že má problém s Explorerem, tys mu sem vykopíroval neškodná varování z Mozilly a prohlásil je za chyby. Teď jsi to udělal znovu. Umíš číst? „Varování“ není chyba a v tomto případě přiřazení do nedeklarované proměnné nevadí. Nepřeji si, abys opakoval to, co ti mažu. Má rozhodnutí jsou konečná a tím, že zopakuješ stejný text, dosáhneš v nejlepším případě opakovaného smazání. „Asi podam oficialni stiznost.“ Do toho. „mas tam chybne zapsane, jak pracovat s ramem“ Ne, má tam špatný argument pro removeChild. „A propo, k cemu tam mas ramy?“ Vždyť tam nemá rámy. Špatně jsi pochopil výpis z konzole. |
||
peta Profil |
#8 · Zasláno: 4. 8. 2008, 15:35:57
Chamurappi Nemam, ti co rici.
dufeja Mozna by bylo pro tebe jednodussi, kdybys to napsal takto <neco onclick=funkce(this) a=1 b=2> funkce(obj) { if (obj.a==1) { obj.a=3 obj.b=4 } } A nemusis se patlat s nastavovani nove funkce. |
||
dufeja Profil |
#9 · Zasláno: 4. 8. 2008, 20:24:24
Centi Ta tvoje první věta na stránkách naprosto přesně sedí i na mě :-), taky sem už měl vyhráno do tý doby, než sem začel testovat v IE.
Ale jinak moc děkuji za pomoc, centiho způsob jede skvěle. Teď už by to mělo bejt v pohodě to dodělat. Tak dík |
||
Časová prodleva: 16 let
|
0