Autor | Zpráva | ||
---|---|---|---|
Pavel5 Profil * |
#1 · Zasláno: 31. 8. 2012, 10:57:04
Dobré dopoledne,
v JS bohužel plavu a potřeboval bych, pokud to jde, triviální věc. Mám takový input (popř. prázdnou hodnotu ve value): <input value="2012-31-08" type="text" name="datum"> a potřebal bych ve formuláři checkbox, který by po zatržení přepsal (popř. doplnil) hodnotu ve value na konec roku (value="2012-31-12"). Lze to nějakým způsobem řešit? Děkuji |
||
nigdo Profil |
#2 · Zasláno: 31. 8. 2012, 11:44:24
<form action="#" method="post" name="formular"> <input value="2012-31-08" type="text" name="datum"> <input type="checkbox" name="cb_konec" id="cb_koneci" onchange="zmena(formular);"><label for="cb_koneci">konec roku</label> </form> <script> function zmena(formular){ if (formular.cb_konec.checked){ var x = formular.datum.value.substr(0, 4); formular.datum.value = x+"-31-12"; } } </script> nevím kdo určuje ten vstup nebo zda u něho probíhá nějaká validace, takže to možná není bezpečné spoléhat se na první 4 znaky, protože pokud by první 4 znaky byly nějaká blbost - např. "asdf", tak to vyhodí "asdf-31-12" |
||
Pavel5 Profil * |
#3 · Zasláno: 31. 8. 2012, 12:41:51
Funguje to dobře, jenom když formulář začíná
<form action='' method='post' name='formular' enctype='multipart/form-data'> . . . . <input type='submit' value='OK' name='formular' /> Tak JS nefunguje. Po odstranění odesílacího tlačíka je vše ok. |
||
Chamurappi Profil |
Reaguji na Pavla5:
Proč dáváš formuláři i odesílacímu tlačítku stejné name ? Jak má prohlížeč poznat, že proměnnou formular myslíš zrovna formulář a ne tlačítko?
|
||
Tori Profil |
Pavel5:
Místo onchange bych raději použila onclick. MSIE vyvolává událost change až po opuštění checkboxu, např. kliknutí na jiný prvek. edit: A pokud se stav prvku nezměnil - zaškrtnu a zas odškrtnu - nevyvolá ji vůbec. |
||
Časová prodleva: 13 let
|
0