Autor | Zpráva | ||
---|---|---|---|
Stepanka Profil * |
#1 · Zasláno: 19. 11. 2008, 17:05:34
Ahoj,
prosím poradil by mi někdo s jedním problémem, ze kterého se nemůžu vymotat? Mám jeden formulář, zkráceně asi takový: ?> <script type="text/javascript"> function prepni(){ if (document.getElementById("chk").checked) { document.getElementById("f1").style.display='inline'; document.getElementById("f2").style.display='inline'; document.getElementById("f3").style.display='inline'; document.getElementById("f4").style.display='inline'; document.getElementById("f5").style.display='inline'; document.getElementById("ulice_dod").style.display='inline'; document.getElementById("cislo_dod").style.display='inline'; document.getElementById("obec_dod").style.display='inline'; document.getElementById("psc_dod").style.display='inline'; document.getElementById("nazev_stat_fakturacni").disabled = false; document.getElementById("nazev_stat_dodaci").disabled = true; } else { document.getElementById("f1").style.display='none'; document.getElementById("f2").style.display='none'; document.getElementById("f3").style.display='none'; document.getElementById("f4").style.display='none'; document.getElementById("f5").style.display='none'; document.getElementById("ulice_dod").style.display='none'; document.getElementById("cislo_dod").style.display='none'; document.getElementById("obec_dod").style.display='none'; document.getElementById("psc_dod").style.display='none'; document.getElementById("nazev_stat_fakturacni").disabled = true; document.getElementById("nazev_stat_dodaci").disabled = false; } } </script> <?php echo "<form action=\"\" method=\"post\">"; echo '<select id="nazev_stat_fakturacni" name="nazev_stat_fakturacni">'; echo '<option value="">Vyber</option>'; while ($row_stat=mysql_fetch_array($query_stat)) { echo '<option value="'.$row_stat['nazev'].'">'.$row_stat['nazev'].'</option>'; } echo '</select> echo '<input id="chk" onclick="prepni()" onload="prepni()" type="checkbox" name="dodaci_adr_jina"><label for="chk">Dodací adresa je jiná než fakturační</label></td></tr>'; echo '<div id="f1">Ulice:</div> <input id="ulice_dod" type="text" name="ulice_dod" size="27" value="'.$ulice_dod.'" /> <div id="f2">Číslo:</div> <input type="text" id="cislo_dod" name="cislo_dod" size="10" value="'.$cislo_dod.'" /> atd pro obec a PSČ...... echo '<select id="nazev_stat_dodaci" name="nazev_stat_dodaci">'; echo '<option value="">Vyber</option>'; while ($row_stat=mysql_fetch_array($query_stat)) { echo '<option value="'.$row_stat['nazev'].'">'.$row_stat['nazev'].'</option>'; } echo '</select>'; A můj problém je takový: Potřebovala bych, aby první selectbox (nazev_stat_fakturacni) zůstal DISABLED, pokud není zaškrtnutý checkbox. A pokud ho zaškrtnu, aby zůstal DISABLED druhý selectbox a první šel editovat. (Oba najednou být editovatelné nesmí). To co mám mi sice funguje, ale má to jeden háček. Pokud na checkbox kliknu, vše se provede jak má, ale při aktualizaci stránky (nebo posunutí se na další krok a vrácení zpět) se JS funkce sama nenačte a mám editovatelné oba checkboxy. Potřebovala bych, aby ta funkce platila stále, ne aby se volala jen aktuálním zaškrtnutím/odškrtnutím checkboxu. Doufám, že jsem to napsala aspoň trošku srozumitelně. Budu moc vděčná za jakoukoliv radu, děkuju.. |
||
habendorf Profil |
#2 · Zasláno: 19. 11. 2008, 17:09:40
Musíš si stav checkboxu nějak zapamatovat. Třeba pomocí cookie.
|
||
Stepanka Profil * |
#3 · Zasláno: 19. 11. 2008, 17:19:28
habendorf
To máš asi pravdu, o to se pokouším už dlouho. Zkoušela jsem třeba function prepni(){ if (document.getElementById("chk").checked) { $_SESSION['nazev_stat_dodaci'] = true; document.getElementById("f1").style.display='inline'; document.getElementById("f2").style.display='inline' atd... } else { $_SESSION['nazev_stat_fakturacni'] = true; document.getElementById("f1").style.display='none'; document.getElementById("f2").style.display='none'; atd... } } Ale pak jsem přišla na to, že takhle proměnné do JS kódu asi přiřazovat nemůžu. Javascript totiž moc neovládám, a tady v tomto případě se i těžko googluje.. Prosím, mohl bys mě "nakopnout" trošičku víc? Budu moc ráda. |
||
Stepanka Profil * |
#4 · Zasláno: 19. 11. 2008, 17:45:15
habendorf
Oprava: Už jsi mě nakopl asi dost, myslím, že pomocí document.cookie už to teď zvládnu. Díky. |
||
Časová prodleva: 15 let
|
0