Sziasztok!
Hogyan lehetséges form elemeket javascript segítségével felpakolni?
Leírom, mit szeretnék.
Egy js-függvény visszatérési értékének megfelelően szeretnék x db textfieldet kirakni.
Valaki tudna írni nekem erre egy példakódot?
Drupal verzió:
Fórum:
Inkább rejtsd el a feleslegeseket
Nem tudom, hogy a reptében hozzáadott form elemek belekerülnek-e a form visszatérési tömbjébe, de nem tartom valószínűnek. Szerintem hozd létre az összeset és a feleslegeset rejtsd el. Én így oldottam meg a felesleges mezők eltüntetését:
elrejtés sajnos nem jó
Pontosan ezért kérdeztem itt, mert én sem tudom, hogy vajon ez így megoldható-e.
Sajnos az elrejtéses módszer azért nem jó, mert nem tudni, hogy mennyi kell, de még csak maximumot sem tudok rá mondani. És fontos, hogy szépen oldjam meg. :)
Ez így viccesebb
Azt el tudom képzelni, hogy egy komplett formot (submit gombbal) cserélgess egy divben. A modulodban meg a validate és a submit függvényed meg egy foreach-csel végigjárja a form tömböt.
Most már engem is érdekel, hogy vajon működik-e ez a megoldás.
Ez kimaradt
Természetesen a formot át kell tolni a javascriptnek:
Talán.
es akkor mi van ha valaki
off
es akkor mi van ha valaki kifejezetten tiltja a js-t akkor nem lesz neki textfield? :)
/off
---
Tévedni mindenkinek szabad, csak a mérnöknek észre kell vennie.
Akkor annak nem lesz.
Hagyjuk már ezt! Igen, le lehet tiltani a js-t, tudok róla, ahogyan a css formázásokat is le lehet tiltani, meg a sütiket, folytassam...?
Javaslom, nézz szét a drupal könyvtárad 'misc' mappájában!
drupal simán megy js nélkül ám
javaslom próbáld ki, hogy letiltasz minden jst, hibátlanul menni fog a drupalod, cckstul, viewsostul, szőröstül-bőröstül. persze nem lesz fogd-vidd, hanem helyette lehulló listás súlyozás lesz például. a funkció nem sérül, ha nincs js. alap.
hogy a kérdésre is válaszoljak, nem vagyok feketeöves formAPI mester, de nekem úgy rémlik, hogy a formAPI csak olyan űrlapelemeket és azokban csak olyan értékeket fogad el visszatéréskor, amik a kiküldött formban is benne voltak, ennek pedig valami biztonsági okai vannak.
szerintem röptében, jsből hozzáadott elemekkel megáldott űrlapodat nem fogja megenni a formAPI, meglepődnék, ha igen.
-
clear: both;
megeszi
Ugyanis onnan tudja a form_api, hogy van benne ilyen form elem, hogy a form tömböt előállító függvény beleteszi azt. Tehát ha te úgy írod meg, hogy ha kliens oldalon hozzáadtak akkor a szerver oldalon is beletedd, akkor meg fogja enni.
Bár én, ha sok textfield-et kell kirakni, akkor inkább azt javasolnám, hogy a formba beraksz egy textarea-t és a js-el elrejted, majd kirakod a textfield-eket és a submit eseményre ráülve beletolod a textareaba minden egyes elemet új sorba. (hisz újsor nem lehet a textfield-ben... vagyis abból ki kell dobni, ha van. ;))
Ekkor ha nincs js az ember tolhatja be az infót új sorba, ha van akkor meg csillivilli felület.
A js nem arra való, hogy valamit csinálj vele, hanem arra, hogy valamit máshogy csinálj vele.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Jó ötlet! :)
Ez baromira jó ötlet, köszönöm szépen! Pont megfelel nekem, így fogom csinálni! :)
hogyhogy szerver oldalon beleteszem?
hova teszem?
valami globálisba?
jó hagyjuk, amúgy is ködös ez a szerver oldal sztori. kb annyi a biztos, hogy ott fut a php. :D
de mondjuk szívesen meghallgatok egy gyorstalpalót csütörtökön egy sör mellett. (amit természetesen én vettem neked ;)
-
clear: both;
Ajánlom magamat.
http://palocz.hu/irasok/2007/dinamikus_select
Az egészet is elolvashatod, de a "Mi is az a DANGEROUS_SKIP_CHECK nem dokumentált direktíva?" cím utáni rész érdekel téged.
Természetesen kérdezhetsz a DUG-on sör nélkül is, no meg a sört is elfogadom csak úgy is ;)
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
biztonság
Igen, erre pp egyik leírásában találtam még anno egy módszert, hogy hogyan kell kiküszöbölni.
Egyébként meg én nem azt mondtam, hogy js nélkül nem működik a drupal, csak nekem valahogy mindig úgy tűnik, hogy 2008-ban letiltott js-ről beszélni szőrszálhasogatás. De lehet, hogy hülyeséget beszélek, csak én így látom. :)
Ki beszélt itt letíltott js-ről?
A jövő nem az lesz(szerencsére), hogy van egy oprendszer, egy böngészővel, hanem a paletta a mobil eszközök és játékgépek, settopbox-ok megjelenésével egyre szélesedik. Nem beszélve arról, hogy az idő előrehaladtával szintén változnak a dolgok (a palocz.hu napi huszas látogató számával is begyűjt vagy tíz fajta Firefoxot a többi böngészőről nem is beszélve) Tehát nem arról szól a történet, hogy valaki is kikapcsolná a JavaScriptet, hanem arról, hogy egy icipicit máshogy működik az adott böngészőn az adott Js, más a dom model és más a dom modelt manipuláló függvénykönyvtár, nem JavaScript, hanem mondjuk ECMAScript van és így tovább.
Ezért sose fogsz tudni olyan "JavaScript"-et írni, ami minden böngészőben működni fog, tehát a legjobb, ha felkészülsz arra, hogy akkor is menjen a webalkalmazásod, ha nincs js.
pp
(én pl gyakran nyomulok a telefonommal. A beépített böngészőben most már jól működik az admin menü, az Opera miniben viszont egyáltalán nem. ezért azt használom, mert mobilon nem segít, hanem gátol az a menü. Szóval vannak különbségek)
Palócz István
https://palocz.hu | https://tanarurkerem.hu
picit több böngésző fajta van azért
Na, be volt állítva, hogy csak az első 10 találatot mutassa (én már ezen is megdöbbentem), de most megnéztem 19 FF verziót regisztrált nálam az analitycs.
FF 19
IE 2
Opera 8
Chrome 9
Safari 8
Mozilla 6
Konqueror 1
ez ötven feletti böngésző verzió szám
Drupal.hu-n megnéztem: az FF 48 különböző verziójával nézték az oldalt és még Galeonnal is rákukkantott valaki.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
form+ahah
ne modositsd a Drupal formot javascriptbol, mert csak problemad lesz belole
http://www.katbailey.net/blog/katherine/the-dual-aspect-of-drupal-forms-...
nezd meg a Quick Tabs modul 2.x verziojaban az admin formot. Az formot mindig ujraepiti amikor az Add tab, Delete tab gombra kattintasz, amikor a formot modositod.
hasznos
Mindenképpen áttanulmányozom, köszönöm ezt is! :)
reszletes ismerteto
http://drupal.org/node/348475
Végleges megoldás
Ha lehetséges, azért majd postold be ide a végleges megoldást, hátha mi is tanulunk belőle valamit! :)
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
rendben
Rendben, mindenképpen, bár a pp ötletét nem olyan nehéz megvalósítani. :)
reménykedek
figyelek.
;)
-
clear: both;
mintha...
Mintha ilyesmit láttam már volna valahol régebben, és akkor sem lett túl jó vége...
De ez már off... :)
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
igy
En ezt igy csinaltam anno (Drupal 5-osre irtam). A trukk a form static-ba rejtese.
JS call (egy $.ajax complete reszeben volt):
Aztan a php resze: