
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.
Jo, ten script
se mi líbí, že to udělá ono '#not_selected_stations'
Jj. Drobny preklep.
Prejmenuj fungovani-titulku-zpracovani2.php na fungovani-titulku-zpracovani.php.
A to pomocne pole si nastyluj, jak chces (Asi jako invisible)
Už to dělá komplet jak chceš, jen to PHP dej někam na začátek.
cus
Takže do formuláře by asi stačil script, který by udělal z neodeslaného radiobutonu odeslaný s value="''", který ale neumím napsat.
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.
A co udělat fintu, předělat radiobutony na checkboxy a nastylovat je, aby vypadaly kulatě? Šlo by to vůbec nastylovat? Nebylo by to "formulářové porno"?
Mas to udelane v tom mem poslednim postu.
Netreba.
Děkuji ti mnohokráte za pomoc, ale "obětuji se" a udělám tu fintu od wam_Spider007, protože to bude bez javascriptů a pokud je má někdo vypnuté, nebo mu z nějakého důvodu (např. na mobilu) nechodí, nebude to blbnout a to se mi líbí.
Ja podobnou vec delal tak, ze jsem na to pouzil funkci, neco ve stylu (byl to jiny jazyk a uz je to dlouho)