Autor | Zpráva | ||
---|---|---|---|
expes Profil * |
#1 · Zasláno: 23. 2. 2011, 20:25:05
Mám odesílací formulář, který je trochu složitější a trvá cca tři sekundy než se odešle. Proto jsem přidal fičuru, která zobrazí div s textem "Odesílám, prosím čekejte..." po kliknutí na tlačítko odeslat.
Zobrazuji ho javascriptem (výchozí hodnota display je none) function zobraz() { document.getElementById('zobrazovanydiv').style.display = ""; } <input type="button" onclick="zobraz();" .... Problém je v tom, že když je detekována chyba ve formuláři a po uživateli je požadováno, aby se vrátil zpět a chybu opravil, div Odesílám... je zobrazen, není skrytý... Existuje nějaká jednoduchá možnost jak zařídit, aby div byl po kliknutí zpět zase skrytý? Asi by se to dalo řešit způsobem, aby po kliknutí zpět se přešlo na "novou" stránku a dříve vyplněné hodnoty skript předvyplnil, ale to je dalece nad mé možnosti... |
||
TomasJ Profil |
#2 · Zasláno: 23. 2. 2011, 20:30:34 · Upravil/a: TomasJ
Do tlačítka Zpět (myšleno na webu, ne nahoře v prohlížeči) nastavíš divu display:none; (událostí onclick)
<button onclick="document.getElementById('id_divu').style.display='none';history.go(-1);">Zpět</button> |
||
Darker Profil |
#3 · Zasláno: 23. 2. 2011, 20:47:01
Mně jedna věc nedává smysl, a to že pokud má div nazačátku display:none, prohlížeč po po obnovení přece nezobrazí...
Stejně tak nedává smysl provádět změnu na dokumentu, který právě opouštím, jak to dělá TomasJ. |
||
expes Profil * |
#4 · Zasláno: 23. 2. 2011, 22:44:32
TomasJ:
Já myslím, že by to fungovat mělo, bohužel ten můj skript nevypisuje oznámení o chybném vyplnění pole do úplné html stránky, ale pouze textovou větou a když to tlačítko Zpět vložím do kódu skriptu k té větě, tak chybuje... Ale díky za bleskurychlou odpověď, doufám že to v budoucnu ještě využiju. |
||
TomasJ Profil |
#5 · Zasláno: 23. 2. 2011, 23:57:17
expes:
Teď mě napadlo, jestli nebude lepší načíst znova stránku? Texty u inputů se uloží do historie prohlížeče, takže po kliknutí do inputu se zobrazí seznam s těmi použitými hodnotami, čili pokud se to neskládá převážně z <textarea>, tak není problém vrátit na předchozí adresu i s načtením... Darker: Máš pravdu, to jsem si neuvědomil. |
||
Darker Profil |
#6 · Zasláno: 24. 2. 2011, 09:16:19
Ať už to s tím divem řešíš jakkoliv, nejspíš ne takto:
<form onsubmit="return kontrola()"><!--bla bla bla--></form> function kontrola() { if(vsechno_ok)return true; else { document.getElementById('id_divu').style.display='block'; return false; } } |
||
Časová prodleva: 13 let
|
0