ugrás a tartalomhoz

Javascript - SELECT elem tartalmának megjegyzése

haho · 2009. Jún. 3. (Sze), 13.08
Arra gondolok, hogy van egy 3 szintű legördülő listám. Egymástól függ a tartalmuk. Tételezzük fel, hogy a felhasználó bejelöli rajta a kategóriákat (pl.: Sport >> Tenisz >> Teniszlabdák) és elküldi az űrlapot, de pl. nem töltött ki egy másik mezőt, ezért hiba üzenetet kap a felhasználó és nem küldődnek el az adatok.
A többi (nem javás) select elem értékét, amit már kitöltött ilyenkor $_POST-al megőrzöm, hogy azokat már ne kelljen újra kiválasztania, de a javascriptes legördülő listák tartalmai elvesznek. Javascripttel, hogyan lehet ezt kiküszöbölni?
 
1

selected

bonga · 2009. Jún. 3. (Sze), 13.46
Mivel szerver oldalon csinálod a kiértékelést, még javascript sem kell hozzá. Egyszerűen tegyél egy selected="selected"-et arra az elemre, amit már egyszer kiválasztott és általad is elfogadható és így add vissza javításra a többi, hibás elemet:

<select>
 <option value="1">Foci</option>
 <option value="2" selected="selected">Tenisz</option>
 <option value="3">Golf</option>
</select>
2

nem biztos hogy ott vannak

gex · 2009. Jún. 3. (Sze), 13.48
ha jól sejtem az a probléma, hogy js tölti fel a selecteket. ez esetben mondjuk hidden mezőben mehet vissza a kiválasztott érték, azt js már le tudja kezelni viszont nem szól bele semmi másba.
3

Ez a helyzet

haho · 2009. Jún. 3. (Sze), 13.52
Ez volt a helyzet igen, de így tényleg működik. Köszönöm
4

Ha azt szeretné, hogy

tgr · 2009. Jún. 3. (Sze), 13.57
Ha azt szeretné, hogy javascript nélkül is működjön a multiselect, azt kétféleképp lehet megoldani: vagy alapból az összes opció listázva van, és a javascript csak rászűr, vagy kezdetben a 2-3. lista csak egy "válaszd ki a fő kategóriát" elemet tartalmaz, az űrlapot elküldve visszakapja kitöltött második selecttel stb. A kiválasztott mezők megőrzésének mindkét esetben triviálisnak kéne lennie.
5

Az is egy megoldás ha

mgergo90 · 2009. Jún. 3. (Sze), 15.24
Az is egy megoldás ha elküldés előtt vizsgálod meg az adatok érvényességét.
6

nem

gex · 2009. Jún. 3. (Sze), 15.27
(na most kéne a pontozás ugye...)

szerver oldalon mindig ellenőrzünk! nem bízhatsz semmilyen forrásból származó adatban!
7

forras

carstepPCE · 2009. Jún. 3. (Sze), 15.53
gondolom kulso forrasra gondolsz, nem bizunk semmilyen kulso forrasbol szarmazo adatban! Kulonben mindenhova uberbrutal ellenorzeseket kell bevezetni :-)

-cs-
Sanyi
8

Hát...

Ustak · 2009. Jún. 3. (Sze), 16.27
itt a <select> szerintem "külső forrás" mert ihol van a böngészőmben, és át is írhatom ha úgy tetszik, az url is külső forrás így , a form összes input mezője és még sorolhatnánk. Szóval ezt igenis ellenőrizni lehet (kell) szerintem.
Ha nincs igazam kérek mínuszt, és maradok a js-nél :-)
9

..

carstepPCE · 2009. Jún. 3. (Sze), 16.59
nem egeszen erre gondoltam, termeszetesen, minden, ami GPPD modon jon ezt ellenorizni kell, de a belso fugvenyekben mar nem kell kiepiteni az ellenorzest ezekhez az adatokhoz!

-cs-
Sanyi

Ui.: GPPD = Get, Post, Put, Delete
10

A kettő nem zárja ki egymást,

mgergo90 · 2009. Jún. 4. (Cs), 19.01
A kettő nem zárja ki egymást, ha elküldés előtt ellenőrzöl akkor a felhasználó időd spórol, és a szerver oldalon még mindig ellenőrizheted a hackerek miatt :)