Form feldolgozás php fájlon belül
Sziasztok!
Újra és újra előjön az a probélma, hogy egy PHP fájlon belül kellene mondjuk egy választólista kiválasztott elemének értékét átadnom egy PHP változónak.
Mondok példát:
Van egy formon belüli választólista, és a választott elemtől függően kellene a további form elemeknek vagy szövegeknek megjelenni, vagy éppen rejtve maradni. Vagyis tudnom kellene mit választottak ki elötte.
Megoldható külön fájl és Post nélkül?
Az is jó lenne, ha a javascript eseménykor át tudna adni egy változó értéket a PHP-nek. Na de hogyan? :)
Van erre valami megoldás?
■ Újra és újra előjön az a probélma, hogy egy PHP fájlon belül kellene mondjuk egy választólista kiválasztott elemének értékét átadnom egy PHP változónak.
Mondok példát:
Van egy formon belüli választólista, és a választott elemtől függően kellene a további form elemeknek vagy szövegeknek megjelenni, vagy éppen rejtve maradni. Vagyis tudnom kellene mit választottak ki elötte.
Megoldható külön fájl és Post nélkül?
Az is jó lenne, ha a javascript eseménykor át tudna adni egy változó értéket a PHP-nek. Na de hogyan? :)
Van erre valami megoldás?
ajax? :)
Még könnyebb megoldás, ha nem a php-vel printelteted ki a listát, hanem kliens oldalon js-el generáltatod és a lista onchange eseményére kötöd a többi lista generálását.
re: ironwill
Ebből kellene kiindulni, leegyszerűsítve, nos ebbe hogyan keverhető bele a javascript?
Ezen az elven sehogy.
A PHP feldolgozása szerver oldalon, egyszerre fut le. Miután lefutott, utána kapja meg a böngésző az előállított HTML forrást, így a későbbi felhasználói cselekvés, pl. select lista kiválasztás ezt már nem tudja befolyásolni.
1. megoldás:
Azt tudod megcsinálni, hogy az első elemet előállítod PHP-ból, a további elemeket pedig a kliens oldalán valamilyen JavaScript megoldással. Ha egyszerűbb adatokról van szó, pl. egy dátumválasztó vagy ilyesmi mezőről, akkor simán JavaScriptből belegenerálhatod. Ha olyan adatokról van szó, amiket a szerveren tárolsz, adatbázis hozzáférés kell hozzá, stb. akkor szükséged lesz egy AJAX-os hívásra, és a szerver oldalon egy olyan különálló PHP megoldásra, ami csak ezt a speciális kérést szolgálja ki.
2. megoldás:
A select elem kiválasztásakor a "félig kitöltött" űrlapot elküldöd (szintén JavaScript), és a feldolgozó PHP a kiválasztás alapján egy új űrlapot generál az első feltételtől függően, ezt jeleníted meg.
Az első megoldás szebb, a második talán kicsit egyszerűbb, ha még sosem foglalkoztál AJAX-szal. De ha van rá kapacitásod, akkor inkább az elsőnek járj utána.
re: