Autor | Zpráva | ||
---|---|---|---|
Enko Profil |
#1 · Zasláno: 25. 8. 2014, 14:40:06
Ahoj Hledám řešení jak ověřit následující:
mám z PHP generovaný HTML formulář, který obsahuje stejně pojmenované checkboxy, jen očíslované polem: <input type="checkbox" name="f_odstranit[7]" value="1" > <input type="checkbox" name="f_odstranit[8]" value="1" > <input type="checkbox" name="f_odstranit[9]" value="1" > <input type="checkbox" name="f_odstranit[...]" value="1" > |
||
Chamurappi Profil |
#2 · Zasláno: 25. 8. 2014, 14:50:11
Reaguji na Enka:
S čím konkrétně máš potíže? Ke stavu zaškrtávátka se dostaneš přes formulář["f_odstranit[7]"].checked , kde formulář je objekt formuláře (při onsubmit je v this ).
|
||
janbarasek Profil |
#3 · Zasláno: 25. 8. 2014, 14:50:20
Enko:
Na to budou stačit prosté funkce a možná trocha ajaxu (ale jde to i bez něj). <script> function selectbox(id) { Alert("Opravdu chcete odstranit "+id+"?"); // tady si doprogramuj ajaxově smazání... return 0; } </script> <input type="checkbox" name="f_odstranit[8]" value="1" onclick="selectbox(8);"> |
||
Chamurappi Profil |
#4 · Zasláno: 25. 8. 2014, 15:06:20
Reaguji na janbaraska:
Samotná změna stavu zaškrtávátka by nikdy neměla vést k velkým akcím. Mazat něco hned při zaškrtnutí důrazně nedoporučuji. „ Alert("Opravdu chcete odstranit "+id+"?"); “
Dialog alert (s malým a ) má jen jedno tlačítko OK. Na potvrzování se používá confirm , který pak vrací true /false podle toho, zda uživatel vybral OK/Storno.
|
||
weroro Profil |
#5 · Zasláno: 25. 8. 2014, 15:07:57
janbarasek:
A keď si nebude priať zmazať vybranú položku? Nechcel si tam použiť confirm()? |
||
Enko Profil |
#6 · Zasláno: 25. 8. 2014, 16:00:30
Ahoj,
děkuju všem za odpovědi, upřesním tedy co přesně potřebuji. Mám formulář viz první příspěvek. V tomto formuláři když kliknu na submit tlačítko a je zaškrtlý nějaký checkbox (viz kód z prvního příspěvku) aby se ukázalo okno s hláškou jestli chce uživatel opravdu smazat vybrané záznamy a tlačítky OK, který dokončí běžné zpracování formuláře na serveru anebo tlačítkem Storno. V javascriptu se zatím učím, tak prosím o vysvětlení polopaticky. Zatím jsem stvořil toto, ale nefunguje to vůbec. Nevím jak se přesně zachází s proměnnými v JS. <script type="text/javascript"> function selectbox(id) { if (document.form.f_odstranit[id].checked==true){ window.alert("Opravdu chcete odstranit "+id+"?"); } } </script> <form name="form" action="" method="POST"> <input type="checkbox" name="f_odstranit[7]" onclick="selectbox(7);" value="1" > <input type="checkbox" name="f_odstranit[8]" onclick="selectbox(8);" value="1" > <input type="checkbox" name="f_odstranit[9]" onclick="selectbox(9);" value="1" > <input type="submit" name="f_ok" value="Upravit"> </form> |
||
weroro Profil |
Neviem, čo sa má stať, keď nie je zaškrtnutý žiadny checkbox, tak som nastavil aby sa formulár neodoslal v takom prípade vôbec.
<!DOCTYPE HTML> <meta charset="utf-8"> <title>jpw</title> <form name="form" action="" method="POST"> <input type="checkbox" name="f_odstranit[7]" value="1" > <input type="checkbox" name="f_odstranit[8]" value="1" > <input type="checkbox" name="f_odstranit[9]" value="1" > <input type="submit" name="f_ok" value="Upravit"> </form> <script type="text/javascript"> document.form.onsubmit = function () { var chbx = this.getElementsByTagName('input'); var txt = ''; for (var i = 0; i < chbx.length; i++) { var c = chbx[i]; if (c.type == 'checkbox' && c.checked) { txt += "\n" + c.name; } } return (txt.length && confirm('Opravdu chcete odstranit?' + txt)); } </script> |
||
Časová prodleva: 10 let
|
0