Az Rsform - ajax formanyomtatvány benyújtása az oldal újratöltése nélkül

Helló kedves barátaim! Ebben a cikkben azt szeretném megmutatni, hogyan küldhet adatokat az RSForm komponens űrlapból a Joomla 3-hoz, anélkül, hogy újratöltené az oldalt az ajax technológiával. Azt is szeretném mondani, hogy ez a módszer lehetővé teszi mellékletek küldését az űrlapból. Az űrlap elküldéséhez egy jQuery bővítményt alkalmaztam, a jQuery Form Plugin néven. Most beszéljünk mindent rendben.

Először is, javaslom, hogy nézd meg a bemutatót, hogyan működik mindez azért, hogy ne vesztegesse az időt arra, amit végül mégsem szeretne.

Lásd még: Vízszintes többszintű menü a css-en animáció hatásával

Tehát töltse le a fájlokat a fenti linkről. Az archív három fájlt tartalmaz: maga a könyvtár jQuery Form Plugin (formplugin.js), plug-in inicializáló szkript (init.js) és formázó köszönhetően üzenetét stílusok (style.css). Sablonokat kapcsolunk össze a webhelyünk sablonjába. A záró testcímke előtt hozzáadhat egy kapcsolatot.

A jQuery kapcsolat mindig a szkriptek felett van, amelyek attól függenek. Ezután lépjen a Joomla vezérlőpultra, és nyissa meg a létrehozott űrlapot az RSForm programban. Ehhez hozzá kell adnunk egy általános csomagolást egy bizonyos osztályhoz az űrlap valamennyi mezőjéhez. Elrejti az űrlapot, és megmutatja az üzenetet a sikeres küldésről. De a kód beillesztése előtt le kell tiltani az automatikus kód generációt. Ehhez a kódmező fölött válassza a "Automatikus elrendezés létrehozása" választógombot a "Nem" pozícióban. Így nyissa meg az űrlapot a szerkesztéshez az RSForm -> Tulajdonságok -> Elrendezés formában. Az RSForm felületet oroszul kell lefordítani, ha nem rendelkezik fordítással, olvassa el az alábbi képernyőképet. A nyitó DIV tagot a "" elnevezésű "hide-form" sikerrel illesztjük be, és a záró "DIV" címkét a kód legvégén beillesztjük.

Figyelem! Ne törölje a "" kódokat, mert ebben az esetben az űrlap érvényesítés nem fog megfelelően működni.

Az Rsform - ajax formanyomtatvány benyújtása az oldal újratöltése nélkül

A következő dolog, amit megváltoztatunk, az űrlap indexelőjét megváltoztatjuk, a nevünket az űrlap céljától függően adjuk meg. Alapértelmezés szerint az űrlap id = "userForm" -re van állítva. Én például ezt az űrlapot a demo site id = "demoForm" néven neveztem. Beléptünk a formanyomtatványokba és megváltoztattuk az azonosítót.

Az Rsform - ajax formanyomtatvány benyújtása az oldal újratöltése nélkül

És még egy dolog, engedélyezzük az ajax ellenőrzést az űrlapmezőkön az "Űrlap információ" lapon. Alapértelmezés szerint az ajax le van tiltva. Erre azért van szükség, hogy hibaüzeneteket mutassunk be, ha a felhasználó nem tölti ki a mezőket, vagy helytelenül töltse ki azokat.

Az Rsform - ajax formanyomtatvány benyújtása az oldal újratöltése nélkül

Most nyissa meg az init.js fájlt, és inicializálja űrlapunkat id = "demoForm" formátumban. Itt is meg kell adnunk az üzenet szövegét, amely az űrlap elküldése után jelenik meg.

Ha több formája van a webhelyen, akkor az inicializáló kódot minden formanyomtatványon meg kell adni.

Kicsit stilizálhatja a köszönet üzenetének kimenetét.

Illessze be ezeket a stílusokat a sablon stíluslapjába.

Mindent, ha mindent helyesen csináltál, akkor az űrlapnak már a sikeres küldés üzenetének újraindítása nélkül kell működnie.

Az RSForm 1.52 ++ új verziójának megjelenésével kapcsolatban észrevette, hogy az ajax formanyomtatvány benyújtása az ajax érvényesítéssel nem működik. Ha az érvényesítés le van tiltva, az űrlap üres adatokat küld. Az a tény, hogy a legújabb verziókban a fejlesztők felfüggesztették a Field Fill Check eseményt a megjelenítési gombra, ami a fenti módszer meghiúsulását eredményezte. Hozzá kellett adnom az érvényesítést, és letiltottam az RSForm natív ajax érvényesítését. A teljes plugin kódot itt tölthetem fel. Az egyetlen dolog, hogy fontolja meg, hogy a szükséges mezőket be kell csomagolni egy blokk az osztály kötelező mező.

Legközelebb!

Zaur Magomedov

Rám lehet:

Rendelés elrendezése Rendelje meg a webhelyet kulcsrakész alapon

Zaur Jó napot, akkor segít beállítani az e-mail, nevezetesen, hogy hogyan lehet, hogy mit küld leveleket a felhasználó (ügyfél) jeleníti meg az információkat, hogy milyen oldalakat küldeni az adatokat, érdemes azt kell 1.51 verzióra sajnos tegye 1,52 a módszer a csere-kód ( ZÁRT) van egy konfliktus, a probléma valeidatsiey, azaz nem egy üzenetet jelenít meg a hibáról beviteli mezők. Sam érvényesítő műveket, és nem engedi, hogy küld szabad információ, de a kimenet egy piros hibaüzenet nem működik. És még egy kérdés a demójáról, a jumla mely verziójáról és az RSForm változatáról. A demo verziója valószínűleg 1,51. de 1.52 sajnos, nem, ami a forráskódon keresztül látja, hogy pontosan mi van a JS-fájlokban. És mi a helyzet az 1.51 verzióval, ez összeütközésbe kerül a Jumla korábbi verzióival? Korábbi köszönetért!

Üdvözlünk! Megkaphatja a címet. A formanyomtatvány érvényesítésének és benyújtásának számláján - igen az rsForm új verziójában változások történtek, és a küldő kódot újra kell írni. Itt kiderül, hogy ezt a kódot módosítani kell az űrlapkód minden egyes HTML kódjelöléséhez. Sajnos nem tudom írni az egyetemes kódot. Frissítettem az rsForm-et 1.52.x-re, és az űrlap leállt. Meg kell érteni. Most itt az ideje, hogy megtegyük, ha nincs idő, hogy őszinte legyek.

És hogyan kaphatok egy címet? És miféle címsor ez? Hogyan és hogyan lehet információt kapni, azaz honnan küldtek dinnyét? Ha például az egyik modul részét, és van ez a modul nem ugyanaz tíz oldalt, és információra van szüksége, ahol a felhasználók küldte el az adatokat, hogy lehetséges-e, hogy egy funkcionális pontosan RSForm bevezetése nélkül a külső erőforrások?

Nos, igen, a fejléc problémamentesen húzódott fel. Egy másik kérdés rovására konfliktus két formája között a helyszínen, version 1.51 példa, 2. oldal különböző formáit RSForm különböző id, az első űrlap elküldése AJAX második nem, ellenőrizze a beállításokat mind egyformák, hogy az első, hogy a második forma, de a második űrlap elküldése AJAX nem akar, és tegye pontosan ugyanolyan formában modul 2-szer egy oldalon, ugyanabban a helyzetben, az első forma AJAX felülmúlhatatlan, ha szembesül egy ilyen probléma.

És az ajax küldés második formája, az első - $ ('# idForm'). SendForm ();

Úgy értem? Nem hívtam $ ('# idForm') az elsőnek SendForm (); Csak bedobta az űrlapot az osztály osztály = "hide-form-success" -be, és összekapcsolta a szükséges parancsfájlokat és mindent, de $ ('# idForm') SendForm (); írjon a JIT-ba. vagy csak a castom js?

Kapcsolódó cikkek