
Jak odeslat prázdnou "name", když není zaškrtnutá ve formuláři?
Mám formulář, kde je1 000 000 name. Všechno na radiobutony
http://skrytetitulky.cz/dotazniky/vysilani-titulky /dotaznik-pozemni.html
<td class="input"><input type="radio" name="ct_1_txt" value="ČT 1 TXT je"></td>
<td class="inputne"><input type="radio" name="ct_1_txt" value="ČT 1 TXT není"></td>
Pokud však někdo nevyplní položku, protože to neví, neodešle se prázdné value. Nejde to ošetřit nějakou fintou, abych nemusel dělat třetí sloupec tabulky?
<td class="input"><input type="radio" name="ct_1_txt" value="NEVÍM"></td>
Nešlo by to nějak "globálně" přes isset, či empty? Něco jako hned na začátek zpracování
if S_POST empty {
S_POST="";
}
Díky 150x za radu.
Samozřejmě.
Mělo by to jít takhle:
Dík, jen se mi právě moc nechce, dělat to pro 130 položek. Nejde to nějak globálně pro všechny jedním příkazem?
Něco jako
?
// Pardon ano, premyslim....
No takhle. Neselektlé radiobuttony se nepřenáší, že jo.
Ty si musíš z databáze vyjet všechny stanice do pole (to jsou všechny možné hodnoty, které user hypoteticky může zaškrtnout).
Třeba takto (neznam tabulku):
1) Vytvoření pole $stanice se všemi možnými stanicemi, které může uživatel vybrat:
2) Nyní předpokládejme, že v poli $stanice jsou stanice z databáze.
No a tyto stanice porovnáš s tím, co uživatel zaškrtl:
3) No a teď už máš tři pole.
$stanice Obsahuje všechny možné volby
$nenalezene_stanice[] Obsahuje stanice, které uživatel nezaškrtl.
$zaskrtle_stanice Obsahuje stanice, které uživatel zaškrtl + nějaké zbylé hodnoty zaslané metodou post, na to bacha.
A NEBO HOTOVÉ JEDNODUCHÉ ŘEŠENÍ za pomocí jQuery v příloze - rovnou vybere nezaškrtlé checkboxy a pošle na server.
Přibylo jen políčko, které může být hidden $not_selected_stations.
Ty máš na mysli něco jiného. Ten formulář se z databáze nenačítá, pouze se do ní ukládá. Jsou tam právě vypsány všechny stanice a lidé budou vyplňovat, jestli jim jde u nich teletext, a titulky, ne volit stanice (protože někde nefunguje to, cop jinde ano). Jukni na něj
http://skrytetitulky.cz/dotazniky/vysilani-titulky /dotaznik-kabel.html
Mě jde o to, když dělám zpracování,
dát na začátek něco, co by udělalo z těch neodeslaných "", jelikož někdo vyplní třeba jen 10 stanic (ze 130 či kolika) a u dalších ani neví, nebo neví, jestli u nich jdou na HD vysílání (protože ho ani nemá) titulky. Tak abych nemusel dělat třetí sloupec "nevím" a lidé nemuseli vyplňovat celý formulář, když chtějí poslat třeba pouze teletext u ČT.
nemam odskusane pri radio buttonoch, ale pri checkboxe sa robi finta, ze vyrobis input typu hidden s rovnakym name a value si das povedzme "empty". Ak nevyberies ziadny radio, tak sa posle hodnota z hidden inputu.
Bezva. Vyzkoušel jsem, nastyloval u toho width a hight na 1px, dal tomu value="nevyplněno" a funguje na 100 %. Jen musím to tabulky přidat nějakých 65 inputů a každý s jiným name.
ono by si nemusel robit 65 inputov, keby si pouzil na renderovanie HTML trochu viac PHP.
staci ti array televiznych stanic a pre kazdu vygenerovat vo foreach nieco taketo (pseudo kod):
Pricom $i iterujes od 0.
Nasledne v poste potom vies ku kazdej veci pristupovat ako k dvojrozmernemu polu. $_POST['teletext'][0]
Vies si aj potom spravit cyklus podla poctu prvkov v poli $_POST['teletext'].
Že mě to array nenapadlo hned, když jsem začínal. Měl bych 1000x méně práce, kdyby byl i formulář v php.
Holt příště.
prepisat to je podla mna otazka chvilky. a do buducna budes mat aspon udrziavatelnejsi kod.
Ja podobnou vec delal tak, ze jsem na to pouzil funkci, neco ve stylu (byl to jiny jazyk a uz je to dlouho)