Autor | Zpráva | ||
---|---|---|---|
tomino Profil |
#1 · Zasláno: 16. 5. 2006, 15:27:43
Ahoj,
při procházení Google Calendar a i jinde jsem narazil na takové krásné potvrzovací dialogy, při jejichž spuštění okolní prvky stránky trochu zblednou, nejde na ně kliknout a od uživatele se čeká potvrzení dialogu. Je to něco jako v normálních programech, kdy se otevře třeba nastavení a musím potvrdit nejdříve změny v tomto nastavení a pak pokračovat v práci v programu. Protože je obrázek výstižnější, tak ho předkládám. Rád bych věděl, jak udělat toto: Tipuju si, že se to dělá nějakým způsobem v javascriptu nebo přes DOM. Jsou o tom nějaké články, jak se to naučit? Při psaní PHP aplikací by to výrazně urychlilo práci. Předem dík* |
||
WanTo Profil |
#2 · Zasláno: 16. 5. 2006, 15:36:20
PHP aplikací by to výrazně urychlilo práci.
To bych netvrdil, stejně budeš muset vstup ošetřit i v PHP. Někdo může mít vypnutý JavaScript a poslat ti neplatné údaje, které mohou vytvořit bezpečnostní mezeru ve tvé aplikaci. Kažodopádně by to mohlo trochu snížit zatížení serveru, to je pravda. |
||
tomino Profil |
#3 · Zasláno: 16. 5. 2006, 17:12:34
Někdo může mít vypnutý JavaScript a poslat ti neplatné údaje
Vstupy vždycky kontroluju a kontroloval bych je i tak a vypnutí javascriptu bych ošetřil. já jsem spíš než snížení zatížení serveru myslel urychlení uživatelovi práce. Doposud jsem to dělal s použitím funkce alert, ale výše zobrazený obrázek je elegantnějším řešením a já bych rád věděl, jak toho docílit. |
||
WanTo Profil |
#4 · Zasláno: 16. 5. 2006, 17:17:53
vypnutí javascriptu bych ošetřil
Jak? |
||
tomino Profil |
#5 · Zasláno: 16. 5. 2006, 17:44:38
kontrolou v PHP: příklad: kliknutím na odkaz se zapnutym javascriptem vyskočí hláška upozorňující na smazání (třeba) příspěvku. s vypnutým skriptem to napíšu prostřednictvím PHP. ale to se dostáváme od tématu ;-)
|
||
WanTo Profil |
#6 · Zasláno: 16. 5. 2006, 17:52:08
Tak jestli to budeš kontrolovat jen takhle, ne i pomocí PHP, tak se s tebou vsadím, že donutím tvé stránky aby dělaly něco jiného než jsi zamýšlel ;-)
Jinak JavaScriptem to okýnko otevřeš jednoduše. Pomocí DOM vygeneruješ nový prvek na stránce, nastavíš mu position: absolute, left a top. Pak do něj pomocí DOM zase něco přidáš atd. |
||
tomino Profil |
#7 · Zasláno: 16. 5. 2006, 18:59:55 · Upravil/a: tomino
takže pomocí DOM se to dělá.. díky, podívám se na nějaké články o DOM
a k té kontrole: vždyť jsem výše psal, že kontrolu v PHP provádím, i když javascript funguje.. javascript beru jen jako prostředek pro zefektivnění práce a zvýšení komfortu. stránky musí fungovat i bez něj. |
||
Leo Profil |
#8 · Zasláno: 16. 5. 2006, 19:34:05
"Doposud jsem to dělal s použitím funkce alert, ale výše zobrazený obrázek je elegantnějším řešením a já bych rád věděl, jak toho docílit."
Na potvrzovaci okno neni alert, ale confirm. Samozrejme nema grafiku jako na Google, ale funguje stejne, Leo |
||
WanTo Profil |
#9 · Zasláno: 16. 5. 2006, 19:36:37
Tak sem si s tím trochu pohrál, už se mi otevírá pomocí DOMu vlastní okno. Akorát zavřít mi nejde, hlásí mi to nějakou šílenou chybu :-(
|
||
Leo Profil |
#10 · Zasláno: 16. 5. 2006, 19:40:11
"Akorát zavřít mi nejde, hlásí mi to nějakou šílenou chybu :-("
S cimz vam pomuze jen ten, kdo krasne trpi telepatii :-) Leo |
||
WanTo Profil |
#11 · Zasláno: 16. 5. 2006, 19:40:39
JS vyhodí tuhle výjimku, když se pokusím provést příkaz document.body.removeChild(this.window). this.window je HTMLElement s oknem.
Chyba: uncaught exception: [Exception... "Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIDOMHTMLBodyElement.removeChild]" nsresult: "0x80004003 (NS_ERROR_INVALID_POINTER)" location: "JS frame :: file:///home/wanto/test/okno.html :: Alert_close :: line 10" data: no] |
||
Leo Profil |
#12 · Zasláno: 16. 5. 2006, 19:42:02
Co je to this.window, to si nejak nedokazu predstavit, vy mate to okno pojmenovane window? Leo
|
||
WanTo Profil |
#13 · Zasláno: 16. 5. 2006, 19:42:57
Jinak celý zdroják je umístěný na http://wanto.czweb.org/blbosti/okno.html
|
||
Oswald Profil |
#14 · Zasláno: 16. 5. 2006, 20:02:12
WanTo
Uvnitř té funkce ukazuje this na input, takže this.window je tam undefined. |
||
WanTo Profil |
#15 · Zasláno: 16. 5. 2006, 20:13:07
Oswald
Jasně, moc díky, už mi to funguje. Stačilo přidat řádek this.ok.window = this.window; |
||
tomino Profil |
#16 · Zasláno: 16. 5. 2006, 22:43:03 · Upravil/a: tomino
Jinak celý zdroják je umístěný na [url=http://wanto.czweb.org/blbosti/okno.html
http://wanto.czweb.org/blbosti/okno.html [/url] pořád to nějak nefunguje. Prosím tě, nevíš o nějakém pěkném seriálu,který by se tomuhle věnoval? Našel jsem spoustu seriálu na javascript ale žádný na DOM |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0