Autor | Zpráva | ||
---|---|---|---|
vecerapl Profil |
#1 · Zasláno: 13. 6. 2012, 14:21:58
Používám jQuery script, který při kliknutí na odkaz:
<a href="#" class="btn-slide">Otevřít okno</a> .... zobrazí požadovaný DIV id="panel", kde se mám <form ...> formulář.
Můj problém je ten, že když tento fomulář odešlu method="post", tak chybové hlášky si vypisuji u formuláře ... jenže ... okno je díky znovu načtení webu (po odeslání formuláře) zavřené. Potřeboval bych nějaký JS script, který vypíši do znovunačteného webu, který mě to dané okno nechá otevřené. Poradíte? JS: $(".btn-slide").click(function(){ $("#panel").slideToggle("fast"); $("#panel").find('input:first').focus(); $(this).toggleClass("active"); return false; }); |
||
Ugo Profil |
#2 · Zasláno: 13. 6. 2012, 15:05:14
evidentně mu přidá class "active", takže si po refreshi vypiš kód kde již tu třídu active má, případně script $(".btn-slide").addClass('active'); ještě je možnost formulář neodesílat, ale kontrolovat js
|
||
vecerapl Profil |
#3 · Zasláno: 13. 6. 2012, 15:15:21
Pomůže pouze použít
<div id="panel active"> , ale bohužel daný panel ... jeho vzhled je porušen. Asi právě kvůli tomu použití active.
CSS vypadá následovně: #header #login {position: relative; top: 50px; z-index: 200;} #header #login #panel {display: none; position: absolute; top: 0; z-index: 100; right: 0; width: 298px; height: 140px; border: 1px solid #ccc; background: #fff url(/design/img/login-gb.png) no-repeat 0 0;} #header #login #panel table {margin: 25px 0 0 20px; color: #333; font-size: 13px;} #header #login #panel table label {font-weight: bold;} #header #login #panel table label {font-weight: bold;} #header #login #panel table td input {margin: 5px 0 0 15px; width: 176px; height: 20px; border: 1px solid #ccc;} #header #login #panel input.btn-l {position: absolute; top: 95px; right: 9px; width: 85px; padding: 5px 15px; border: 1px solid #000; font-weight: bold; background-color: #143f77; color: #fff;} #header #login #panel p.err-log {position: absolute; top: 8px; left: 20px; color: red; font-size: 12px;} #header #login #panel a {position: absolute; top: 100px; left: 20px; color: #336A9D; text-decoration: underline;} #header #login #panel .btn-close {position: absolute; top: 10px; right: 10px; width: 14px; height: 14px; cursor: pointer;} |
||
wdesigner Profil |
#4 · Zasláno: 15. 6. 2012, 19:42:20
Varianta 1: Při znovunačtení stránky přidat phpkem display:block" (za podmínky, že je formulář chybně vyplněný), tedy:
<div id="panel" style="display:block"> ...
Varianta 2: Pokud bys to chtěl jen JavaScriptem, tak pokud je formulář chybně vyplněný vygenerovat někde ve stránce (phpkem) například <script> showForm = true; </script> v opačném případě (formulář byl dobře vyplněn) vygenerovat <script> showForm = false; </script> .
A do souboru, kde máš jQuery skripty, tak dej toto: if(showForm) { $(".btn-slide").trigger("click"); } |
||
Časová prodleva: 12 let
|
0