Autor | Zpráva | ||
---|---|---|---|
http Profil |
#1 · Zasláno: 9. 11. 2009, 12:15:23
<p> <input name="kat_news_new[1]" value="1" id="kat1" type="checkbox"><label for="kat1">Novinky</label><br> <input name="kat_news_new[2]" value="2" id="kat2" type="checkbox"><label for="kat2">Stařinky</label><br> <input name="kat_news_new[3]" value="3" id="kat3" type="checkbox"><label for="kat3">Duel</label><br> <input name="kat_news_new[4]" value="4" id="kat4" type="checkbox"><label for="kat4">Časopisy</label><br> </p> odesílám form ajaxem POST, ale vůbec mi nejde odeslat checkbox jako pole: zkoušel jsem var pocet = 4; var pole = new Array(); for (i = 1; i < pocet; i++){ if (document.getElementById("kat" + i).checked == true){ pole += i; } } když si pak vypíšu pole výsledkem je 123, podle toho jaký checkbox je zaškrtnutý, ale to není prostě pole. Jak vytvořit pole se zaštkrtnuchých checkboxu a odeslat ho ajaxem přes POST, všchno ostatní mi jede. Já pak v PHP to pole procházím: foreach ($kat_news_new as $value){ $sql_key_kat_news = "INSERT INTO $tab_key_kat_news (key_news, key_kat) VALUES ($id_news, $value)"; .................................. a ukládám do tabulky... Díky za jakoukoliv radu Pavel |
||
Taps Profil |
#2 · Zasláno: 9. 11. 2009, 12:21:53
http:
zkoušel jsi ? <input name="kat_news_new[]" value="1" id="kat1" type="checkbox"><label for="kat1">Novinky</label><br> <input name="kat_news_new[]" value="2" id="kat2" type="checkbox"><label for="kat2">Stařinky</label><br> <input name="kat_news_new[]" value="3" id="kat3" type="checkbox"><label for="kat3">Duel</label><br> <input name="kat_news_new[]" value="4" id="kat4" type="checkbox"><label for="kat4">Časopisy</label><br> |
||
http Profil |
#3 · Zasláno: 9. 11. 2009, 12:26:51
Taps:
odeslání přes button stále funguje, ale přes ajax se stále nic nezměnilo, vždyt je tam getElementById, tak si mylsím že name na to nebude mít vliv :( |
||
Chamurappi Profil |
#4 · Zasláno: 9. 11. 2009, 12:30:01
Reaguji na httpa:
„pole += i;“ Jak jsi na tohle přišel? Neznám žádný programovací jazyk, kde by se prvek do pole přidával takovýmto způsobem. Asi bys chtěl použít spíš metodu push: pole.push(i); |
||
http Profil |
#5 · Zasláno: 9. 11. 2009, 12:37:38
Chamurappi:
nevím, někde jsem si to přečetl :-D ted už to jako pole vypadá, ale při sestavení řetězce: var retezec = "?script_news=" + script_news + "&name_news=" + name_news + "&text_news=" + text_news +"&id_news=" + id_news + "&id_lang=" + id_lang + "&start_news=" + start_news + "&exp_news=" + exp_news + "&kat_news_new=" + pole + "&edit=" + ind; mi to stejně nic neodešle, co tam mám napsat, nějak mi to furt uniká... |
||
Chamurappi Profil |
#6 · Zasláno: 9. 11. 2009, 12:47:19
Reaguji na httpa:
„mi to stejně nic neodešle“ Odešle to asi hodnoty pole oddělené čárkami. Server s tím nepočítá? Tak mu pošli to, s čím počítá. Pokud bez JS odešleš nahoře uvedený kód při zaškrtnutí prvního a třetího zaškrtávátka, putuje na server toto: kat_news_new[1]=1&kat_news_new[3]=3 kat_news_new=1,3 |
||
http Profil |
#7 · Zasláno: 9. 11. 2009, 13:03:24
tak už to jede, řešení:
for (i = 1; i < pocet; i++){ if (document.getElementById("kat" + i).checked == true){ kat_news_new += "kat_news_new["+i+"]="+i+"&"; } } var retezec = "?script_news=" + script_news + "&name_news=" + name_news + "&text_news=" + text_news +"&id_news=" + id_news + "&id_lang=" + id_lang + "&start_news=" + start_news + "&exp_news=" + exp_news + "&" + kat_news_new + "&edit=" + ind; odeslaný výsledek: ?script_news=aktualita-na-prd&name_news=Aktualita na prd&text_news=xxx&id_news=4&id_lang=1&start_news=2009-11-05 15:41:11&exp_news=2009-12-31 23:59:59&kat_news_new[1]=1&kat_news_new[4]=4&&edit=2 |
||
Časová prodleva: 15 let
|
0