Form submit AHAH használatával

Bálint képe

Sziasztok!

A következő feladathoz kérnék segítséget:
Egy blokkba teszek egy linket, amire kattintva "előjön" egy form. Itt a felhasználó kitölt 1-2 mezőt, aztán rányom a submitra. Az adatokat validálni kell, ha hiba van, annak meg kell jelennie az űrlapon. Ha minden jól ment, akkor kiírunk egy üzenetet, majd pár másodperc múlva eltüntetjük a formmal együtt. Mindezt oldalújratöltés nélkül.

Nos, ez többé-kevésbé már meg is van, de valahogy mégis úgy éreztem, kérdeznem kell vele kapcsolatban, mert nem vagyok benne biztos, hogy jó megközelítést választottam.

AHAH segítségével próbálkoztam, elolvastam boobaa írását, és még sok másikat.
Azt hiszem, értem is a dolgokat (bár egészen más felhasználásokra találtam példát).

Jelenleg úgy működik a kód, amit írtam, hogy a submit gombnak megadtam ezt:

<?php
$form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('OK'),
    '#ahah' => array(
      'event' => 'click',
      'path' => 'video/add-link',
      'wrapper' => 'video-message',
      'method' => 'replace',
      'effect' => 'fade',
      'progress' => array(
        'type' => 'throbber',
      ),
    ),
);
?>

Tehát ha erre kattintunk, meghívódik a video/add-link útvonalhoz tartozó callback függvényem, amiben levalidálom az inputokat (amiket a $_POST-ból olvasok ki), ha minden rendben, elmentem node_save()-vel, és a drupal_json()-nel visszaadok egy üzenetet, hogy minden okés (ez megy a #video-message divbe). Ha pedig a validálás megakadt valamin, akkor egy üzenetet, hogy valami nem stimmel. (Természetesen ekkor nincs node_save.)

Ez így rendben is megy, de azt gondolom, hogy ez a Form API figyelmen kívül hagyása, és nem szép megoldás.
Maga a form nem is tud róla, hogy most rendben mentek-e a dolgok, vagy nem (mert submit valójában nem is történt).
A drupal_json által visszaadott tömbben hiába állítgatom a status kulcs értékét (TRUE vagy FALSE), nem tudom, hogy ezt hol tudnám lekezelni. A data kulcsban megadott szöveg megjelenik a kívánt helyen, de ennyi.

Szóval gyakorlatilag hátravan még az, hogy valahogy a js-ből tudjam, hogy beküldtek egy tartalmat, és ha minden rendben ment, akkor tüntessem el a formot.

Elméletileg kíváncsi lennék, hogy ez így milyen megoldás, teljesen rossz volt-e a megközelítés, vagy csak kicsit kell rajta módosítani, vagy egyáltalán, ti hogyan csinálnátok?

Drupal verzió: 
Bálint képe

Csak leírom, hátha valakinek jól jön majd, hogy a kérdésemre a választ az Ajax Comments modul kódja adta meg. Azt mintának használva meg lehet oldani a Form API rendes használatával a feladatot.

0
0
Chucky képe

Biztosan neked is tudnak segíteni, ha nem itt teszed fel a kérdésed. Menj a munkaközvetítőbe hiszen ami nyilt forrású azt pénzért adjuk.

0
0
Den képe

Azért mert te folyamatosan köcsögölsz, nem tudsz viselkedni, 3 napos reggelt létedre minősíthetetlen hangnemben kéred ki magadnak azt, ha valaki segíteni akar rajtad, az nem azt jelenti, hogy mindenki ilyen, mint te.

Jó lenne, ha abbahagynád ezt az értelmetlen keresztes hadjáratodat. Magadat már rendesen leégetted, én úgy gondolom, a kutya nem fog neked válaszolni egy kérdésedre sem. De magadra vess, magadnak kerested.

Alázat, tisztelet az ami belőled hiányzik.

Az hogy valami nyílt forráskódú, az nem azt jelenti, hogy ingyen van. Főleg nem azt, hogy a te gigabájt biziszedben valaki hajlandó segíteni, önként, azonnal, mert csak úgy, te azt mondtad, hogy azonnal. Persze olvasnivaló linkeket se lehet adni, mert az se jó...

Szállj magadba egy picit, a trollkodást meg hagyd abba. Nézzük meg, te mit tettél le az asztalra, hány valamire való segitő hozzászólásod is volt?

p.s: szerencséd, hogy nem vagyok itt admin, kivágtalak volna már, mint azt a bizonyos macskát...

0
0
nevergone képe

gyurex képe

+1

0
0
Chucky képe

Nem értem mi bajotok megint. Szóltam valami rosszat? Azt írtam amit gondolok, nem személyeskedtem, csak próbálom megoldani a problémám, és a fórumon keresgélek, talán megvan valahol a megoldás a Magyar Drupal podcastokat is megnéztem, és azért már valami dereng, másrészt ez nem rólam vagy rólad szól, hanem arról a srácról (ne haragudj) aki dec 10.-én írt és még válaszra sem méltattátok. Ne haragudjon meg senki, de mindenki beszél hogy "nyilt forrású".... Közben meg mindenki pénzt akar csinálni belőle, miért nem írtok akkor egy olyan cms-t ami hasonló, és miért nem azt áruljátok. Nem hiába van több sablon" wp-hez meg joomla!-hoz nem hiába van több kiegészítő. Valóban ők ingyenesen és gyorsan segítenek másoknak. Pál-nak chaten már mondtam miért váltottam át drupalra, sokkal jobb sokkal színesebb, és végre valamit nem csak letöltök pl: sablon, felteszem aztán cseszhetem mert van még 38.000.000 aki ugyan azt használja. A drupallal lehetek egyedi is. Bár ez kissé nehéz, ha ok nélkül bunkóznak az emberrel. Meg vagyok bélyegezve? Rendben. Ha valaki most elmondja nekem, már megint hol szegtem meg bármilyen szabályt, akkor az a valaki amíg a fórumon vagyok nyugodtan cseszegethet. Részemről ennyi. Köszönöm

1
0
aboros képe

attól eltekintve, hogy megint kezdünk szétoffolni egy témát, az az apró bökkenő akadt, hogy talán oda kéne figyelni mit olvas az ember, ki küldte be, meg mikor.

aki dec 10.-én írt és még válaszra sem méltattátok. Ne haragudjon meg senki, de mindenki beszél hogy "nyilt forrású".... Közben meg mindenki pénzt akar csinálni belőle,

a kérdést bálint tette fel, december 10. -én.
az első hozzászólás december 15, szintén bálint (a kérdező maga!) közli, hogy megoldotta a problémát, és arra kell indulni amit linkel.
december 15 óta azért nem szólt hozzá senki, mert nincs már probléma, a kérdező maga oldotta meg.

az ingyenes-nemingyenes sérelmedhez egy kis gondolkodnivaló:
open office ingyenes,
ettől még az openofffice kezelői tanfolyam marikának bizony fizetős.
a linux (lehet akár) ingyenes.
ettől még a linux rendszergazdának elég zsíros a fizetése.

ezen gondolkodjál egy kicsit. (vagy ne, nekem édesmindegy)
ingyenesen letöltheted és használhatod a szoftvert. pont. ha tudod. ha nem akkor a szakértelmet meg vagy megszerzed tanulással ami idő, vagy megfizeted pénzzel más idejét aki már megtanulta. így működik.

1
0

-
clear: both;

Chucky képe

Úgy döntöttem elég volt ebből. Megkérném a moderátorokat illetve adminisztrátorokat, hogy a fiókomat töröljék. Bár gondolom szívesen teszik. Köszönöm.

1
0
gergely képe

Kár, hogy nem láttam a topicot előbb én az ajax modult ajánlottam volna

0
0

---
Tévedni mindenkinek szabad, csak a mérnöknek észre kell vennie.

Bálint képe

Köszi, néztem ezt is, de emiatt nem volt jó nekem:

If the submitted form has no errors, the page will be redirected to the appropriate submission landing page.

0
0