Onko mahdollista toteuttaa sellainen, että lomakkeella on useita luetteloruutuja (SELECT), joilla kaikilla on sama nimi, mutta eri sisältö. Kun lomake lähetetään PHP-koodille käsiteltäväksi, muuttujan arvoksi tulisi se luetteloista, joista on valittu jokin vaihtoehto (muista on valittu tyhjä). Tällainen olisi tarpeen, koska muuten luettelosta tulisi turhan pitkä (noin 300 nimikettä).
Muuttuja
G'Kar
4213
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 4
Vanhimmat
Miksi niillä pitää olla väkisin sama nimi? Se ei ole laisinkaan standardinmukaista.
Teet vain vähän monimutkaisemman käsittelijän X määrälle erinimisiä selectejä, jokaiselle select-arvolle defaultarvoksi tyhjä vaikkapa arvollla "0". Jos kyseisen selectin arvo on 0 niin hyppää vaan tutkimaan seuraavaa kunnes löytyy joku fiksu arvo.
Ongelmaksi tulee se että käyttäjä voi valita monta arvoa eri selecteistä eli sinun on tehtävä break kun löytyy järkevä arvo... Tätä voi hiukan estää javascriptaamalla muiden selectien arvot kun yhtä selectiä sorkitaan.
Toinen kikka olisi se että nimeät selectboxisi vaikka nimi_1, nimi_2, nimi_3 jne ja sitten parseroit ne erilliset boksit servervariablesta yhdeksi kokonaisuudeksi nimen alun perusteella. (skannaat nimen alun perusteella haluamasi selectit) - tällöin koodia ei tarvi muuttaa jos haluat lisätä tai vähentää selectien määrää myöhemmin. Hiukan elegantimpi systeemi.
Käyttöliittymäsuunnittelun mukaan sinun pitäisi laittaa tuota suurta listaa jotenkin joukotetuksi siten että listalta voi etsiä haluamaansa vaihtoehtoa vaikka ensimmäisen kirjaimen tai jonkun yhdistävän tekijän mukaan.
*Miksi niillä pitää olla väkisin sama nimi? Se ei ole laisinkaan standardinmukaista.*
Oletko varma tuosta standarti jutusta?
Sillä mielestäni on ihan standartin mukaista nimetä näin
nimi[]
nimi[] jne...
Tuolloin esim PHP:ssä saa arvot nimi[0], nimi[1] jne..
Lieköhän toimivan moinen temppu muillakin kuin checkbokseilla? Nimittäin selain ei välttämättä osaa välittää tietoa monesta samannimisestä komponentista.
Jos toimii niin siitähän tulee hassu rakenne kun select antaakin lopputulokseksi arrayn jos on valittu monesta eri boksista. (tai sehän taitaa olla mahdollista muutenkin?) Voi tuota kokeilla ja jos se toimii niin hyvä.
Kiitos neuvoista. Itse asiassa rupesin tänään itsekin ajattelemaan samaa ratkaisua, kuin tuo sinun ensimmäinen kertomasi ratkaisi. Rupesi jo hävettämään koko kysymys, jonka lähetin eilen illalla väsyneenä.
Kuten varmaan huomaa, olen jokseenkin aloittelija tässä php:ssä ja yleensäkin koodaamisessa, mutta jostainhan se on alettava.