| 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: 12 let
|
|||
0