Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, a webhely elrendezésével
![Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, a webhely elrendezésével (ajax) Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, a webhely elrendezésével](https://images-on-off.com/images/211/sozdaemkontaktnuyuformusispolzovaniemboo-b2bd2e52.png)
Az írás idején a Bootstrap 3.3.5 a keret jelenlegi verziója. Ehhez a cikkhez az alapértelmezett Bootstrap összeállítást (12 oszlopot) használjuk. A cikkben szereplő feladatok végrehajtásakor ügyeljen arra, hogy a Bootstrap dokumentációjában leírt legfrissebb kódrészleteket és kódstruktúrát használja.
A fájlok és mappák felépítése
Hozzunk létre egy gyökérkönyvtárat, és hozzáadjuk hozzá a következő fájlokat és mappákat:
Egyes front-end könyvtárakat kell csatlakoztatnunk:- betöltse;
- jQuery.
Tekintettel ezekre a könyvtárakra, a fájlszerkezet így fog kinézni:
![Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, a webhely elrendezésével (ajax) Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, a webhely elrendezésével](https://images-on-off.com/images/211/sozdaemkontaktnuyuformusispolzovaniemboo-fc3dfc80.jpg)
Formanyomtatvány létrehozása
Nyissa meg az index.html fájlt, és másolja az alábbi alapvető AJAX struktúrát a visszajelzési űrlaphoz:
Így létrejön egy elrendezés, amely a rendelkezésre álló terület felét foglalja el és vízszintesen középpontja. Ezt követően engedélyeztük a h3-at. és akkor jön a forma alapja. Győződjön meg róla, hogy az űrlapon egy azonosítót használt, hogy később csatoljon egy eseményt az AJAX JQuery űrlap elküldéséhez:
![Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, a webhely elrendezésével (űrlap) Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, a webhely elrendezésével](https://images-on-off.com/images/211/sozdaemkontaktnuyuformusispolzovaniemboo-c46df8d3.jpg)
Harc nélkül nincs győzelem
Ezután be kell illesztenie a következő kódot a címkékbe
:Ezek mind olyan beviteli mezők és gombok, amelyekkel a felhasználó kölcsönhatásba lép. A kezdeti div a hozzárendelt sorosztállyal a klasszikus Bootstrap szintaxis. amely a kol elemek horizontális csoportosítása. A Bootstrap belül lévő oszlopok beindítást vagy tereket hoznak létre. Eltávolítással a sztring egyenletesen illeszkedhet a tartályba.
Két oszlopot hoztunk létre a col-sm-6 osztályban (50%). amelyet az űrlap tetejének elválasztására használunk. A col-sm-6 első oszlopában létrehoztunk egy címkét és mezőket a névhez és az e-mailhez. Mindegyikük tartalmaz egy, az attribútumhoz tartozó címkét. így a címke a megfelelő mezővel társul.
Mindegyik oszlop tartalmaz egy űrlapot. amely szemantikusan csoportosítja a címkéket, és alulról kis benyomást hoz létre:
![Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, az oldalak elrendezésével (bootstrap) Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, a webhely elrendezésével](https://images-on-off.com/images/211/sozdaemkontaktnuyuformusispolzovaniemboo-76357005.jpg)
tipográfia
A Bootstrap lehetővé teszi a H1-H6 osztályok használatát. Segítenek meghatározni a beépített elemek stílusát anélkül, hogy hozzáadnának további mezőket, vagy létrehoznák a szuper AJAX kapcsolattartó űrlapelemeket. A H4 osztályt használtuk. A címke stílusának beállítása és nagy méretűvé tétele.
Az űrlap-kontroll osztály minden bemeneti elemhez használatos, így a konténer teljes szélességét (100% szélesség) foglalja el. Ez az osztály különböző stílusokat is tartalmaz, amelyek lehetővé teszik a könnyen olvasható űrlapelem (nagy méret, éles szélek stb.) Létrehozását.
Ezen oszlopok után az üzenet szövegét is felöleli. A formanyomtatványba csomagoljuk, és ugyanazokat a stílusokat alkalmazzuk, mint a címkékre és a szövegmezőkre.
Hívás cselekvésre
Hozzon létre egy beadási gombot. A Bootstrap különböző gombokat és állapotokat tartalmaz. Úgy döntöttünk, hogy a "siker" (btn-success) gombot használjuk, amely alapértelmezés szerint zöld.
Használnia kell a btn alapszintet is. A gomb fő paramétereinek visszaállítása (keret, behúzás, szövegbeállítás, betűméret). A btn-lg osztályt használtuk. ami egy nagy gombot hoz létre, majd húzza jobbra. amely a gomb körül levő áramlást balra állítja.
A gomb megnyomása után bevittük a divot a #msgSubmit azonosítóval és alkalmaztuk a következő osztályokat: "h3 text-center hidden". A h3 osztály segít létrehozni egy nagyobb fejlécet, a szövegcentrum a szövegbeállítást a központba állítja be, és a rejtett beállítja a megjelenítést: none and visible: rejtett:
![Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, a webhely elrendezésével (űrlap) Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, a webhely elrendezésével](https://images-on-off.com/images/211/sozdaemkontaktnuyuformusispolzovaniemboo-121fa151.jpg)
Adatok funkciók hozzáadása
Megteremtettük az alap Bootstrap JQuery AJAX űrlapot. de még mindig nem csinál semmit. Következő lépésünk egy olyan funkció létrehozása, amely elfogadja a felhasználók által megadott adatokat, és aszinkron módon küldi őket a PHP-ben.
Nyissa meg a scripts.js fájlt, és másolja be a következő kódot:
Ez a jQuery kód töredéke. amely a #contactForm adatküldési funkciókat hallgatja (a korábbiaknak megfelelően). A funkció megkezdése előtt feldolgozzuk a változó eseményt. amely tárolja a függvény űrlapadatainak küldését.
Az event.preventDeafult () megszakítja az űrlapadatok küldését az oldal frissítésekor, anélkül, hogy az űrlapon egy műveletet választana. És végül, ez a kód kéri a formanyomtatvány () benyújtását; :
Ezután létrehozzuk az submitForm () függvényt; az alábbiak szerint:
Eltávolítja a rejtett osztályt a DIV #msgSubmit-ból. amelyet korábban alkalmaztunk, így megjelenítve a szöveget.
Csatlakozás a PHP Mail funkcióhoz
Most olyan szkriptet kell írni, amely az AJAX űrlapból adatokat fog kapni. és tartalmat küld a PHP Mail funkción keresztül. Nyissa meg a process.php fájlt, és adja hozzá a következő kódot:
A levél testét önkényesen hozza létre három létrehozott változó hozzáadásával. Először meg kell adnunk a leírás szövegét, például "Name:", akkor van egy változó, majd egy új vonalra (/ n). Ugyanazokat a műveleteket ismételjük meg, amelyek az összes adatot a $ body változóval társítják.
Az e-mail küldésének elindításához meg kell hívnia az if utasításban. Ily módon ellenőrizheti, hogy az űrlapadatokat sikeresen elküldték-e vagy sem. Ha a Mail funkció visszatér "true" -re, a szkript visszatér a "sikerhez", ha a függvény hibát ad vissza, akkor "érvénytelen".
Ez az eredmény vissza fog térni az AJAX objektumhoz. és a kliens oldalon dolgozták fel. Az AJAX előnye, hogy az ügyfelek oldalán aszinkron módon működik. Ez lehetővé teszi a felhasználó számára, hogy az AJAX adatformátum elküldése közben folytassa a kapcsolatot a webhelyével:
![Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, a webhely elrendezésével (ajax) Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, a webhely elrendezésével](https://images-on-off.com/images/211/sozdaemkontaktnuyuformusispolzovaniemboo-be23ff2f.jpg)
Hozza a ragyogást
Most arra koncentrálunk, hogy visszajelzést adjon a felhasználónak a különféle kiegészítő funkciókkal, amelyeket engedélyezhet. Különösen figyelembe vesszük a visszajelzési űrlapot hibakezeléssel, mind a kliens oldalon, mind a szerver oldalon.
Az űrlap érvényesítéséhez néhány eszközt is használunk:- Animate.css :;
- Bootstrap Validator.
Adja hozzá őket a projekthez, ahogy korábban a Bootstrap és a JQuery programmal. Ezek az eszközök segítenek visszajelzést adni a felhasználónak az adatok elküldése után.
A projekt struktúrája most úgy néz ki, mint ez:
![Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, a webhely elrendezésével (ajax) Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, a webhely elrendezésével](https://images-on-off.com/images/211/sozdaemkontaktnuyuformusispolzovaniemboo-7e41532f.jpg)
Form validálás
Kezdjük azzal, hogy telepítjük a validátort az AJAX PHP visszacsatolási adatainak bevitele után. Menjen a scripts.js fájlba, és módosítsa az első kódot, amely a SubmitForm () függvényt az űrlapadatok elküldése után hívja.
A következőképpen kell módosítani:
Ez az új kódrészlet ellenőrzi, hogy a Bootstrap Validator hibát észlelt-e, és hogy a kód leállt-e. Ha nem, folytatjuk a normál módban végzett műveleteket. Még mindig ki kell zárnunk az alapértelmezett műveletet (az oldal újbóli feltöltése az űrlap kitöltése nélkül) az űrlapadat-prezentációs parancsfájlból.
Most, ha a mezők kitöltése nélkül kattintunk az űrlap elküldésére, az üres mezők piros színűek lesznek:
![Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, a webhely elrendezésével (ajax) Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, a webhely elrendezésével](https://images-on-off.com/images/211/sozdaemkontaktnuyuformusispolzovaniemboo-bc1ee89a.jpg)
A validálás hozzáadásakor blokkoltuk a HTML5 natív érvényesítését. Hozzáadhat további környezetet a hitelesítéshez a hibaüzenetek hozzáadásával. A Bootstrap Validator kényelmes funkcióval rendelkezik, amely lehetővé teszi a hibaüzenetek megjelenítését az egyes mezők számára. Hozzáadásához meg kell adnia a HTML jelölést.
Minden formanyomtatványon belül az adatbeviteli mező alatt a következő HTML kódot kell elhelyezni:
Most, amikor elküldi az AJAX JQuery űrlap adatait, hibaüzenet jelenik meg, ha az űrlapmezők nem töltődnek be: "Kérjük, töltse ki ezt a mezőt. ”. Az adatadat-attribútum hozzáadásával az "adat-hiba" nevű bemeneti adatokhoz egyéni hibaüzenet jelenhet meg.
![Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, az oldalak elrendezésével (bootstrap) Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, a webhely elrendezésével](https://images-on-off.com/images/211/sozdaemkontaktnuyuformusispolzovaniemboo-38dd5725.jpg)
Visszajelzés animáció hozzáadása
Funkciókat hozzáadtunk az üres mező mezők kijelöléséhez. De jó lenne további animációt és több üzenetet adni az űrlaphoz, amely lehetővé teszi a felhasználó számára, hogy mi történik. Jelenleg az űrlapadatok sikeres elküldésével megjelenik az "Üzenet elküldése!" Üzenet, de mi a helyzet a hibákkal?
A meglévő kód használatához megváltoztatjuk a meglévő üzenetet az adatok sikeres elküldéséről. Először törölje az "Üzenet elküldve!" Szöveget. A HTML jelölésből és hagyjon üres divot:
Most új funkciót kell létrehoznia az üzenet állapotának feldolgozásához. Add hozzá ezt a függvényt a scripts.js fájl aljához:
Ez a függvény két argumentumot tartalmaz. érvényes lesz egy logikai változó: ha az értéke igaz. egy üzenet jelenik meg a sikeres adatküldéskor. Ha hamis. egy hibaüzenet jelenik meg. msg egy üzenet, amelyet a div blokkon a képernyőn fogunk megjeleníteni.
Ez a funkció ellenőrzi, hogy a sikeres adatküldésről vagy hibaüzenetről van-e szó. Ez a változó értékének ellenőrzésével történik. Mindkét esetben a változót a megfelelő CSS-osztályokkal állítja be (újra kell engedélyezni a h3-ot és a szövegközpontot, mivel eltávolítjuk őket).
Megjegyzés: A sikeres adatküldésre vonatkozó üzenet osztályában az animate.css egyes osztályokat használjuk. Ha az AJAX JQuery kapcsolatfelvételi űrlapot sikeresen elküldtük, a onda animáció lejátszásra kerül.
Végül a függvény törli az összes osztályt a #msgSubmit-ból (a keresztező osztályok elkerülése érdekében), majd beállítja a prioritási osztályokat, és hozzáadja az üzenet szövegét a divhoz.
A validátor kezdeti szakaszán belül ezen szakasz elején frissítjük a kódot, hogy hozzáadjuk a hívást a következő függvényhez az if utasításban. ha igaznak értékeli:
Ha nem töltötte be az összes mezőt, akkor a következő hibaüzenet jelenik meg: "Kitöltötte az űrlapot megfelelően? "
Az utolsó beküldés MSG funkció utolsó lépése, ha az űrlapadatokat sikeresen elküldi. Frissítse az formSuccess () függvényt az alábbiak szerint:
Vissza szeretnénk állítani az űrlapot, és törölni kell az értékeket, amikor az submitMSG függvényt hívjuk. amint az a sikeres adatküldésről szóló üzenettel jelezte. Most, amikor az űrlapadatokat sikeresen elküldte, megjelenik egy megfelelő üzenet animate.css onda animációval:
![Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, az oldalak elrendezésével (bootstrap kapcsolatfelvételi űrlap az ajax és php segítségével, Hozzon létre egy kapcsolatfelvételi űrlapot a bootstrap, a php és az ajax használatával, a webhely elrendezésével](https://images-on-off.com/images/211/sozdaemkontaktnuyuformusispolzovaniemboo-9280032e.jpg)
Rázzuk fel
Adjuk hozzá a hiba-animációt a teljes űrlaphoz, az univerzális animáció "rázkódás" jöjjön létre!
Hozzon létre egy új fájlt közvetlenül az formSuccess () függvény után, és nevezze el a formArror () függvényt:
Ez a függvény az animate.css demo oldalán leírt megközelítést használja. amely lehetővé teszi animáció hozzáadását egy elemhez, majd újra hívja újra.
Az animáció A CSS-nek kellemetlen tulajdonsága van: a visszajátszási képesség hiánya, még akkor is, ha törli és újból hozzáadja az osztályt. Ez a funkció segít az alap animációs végosztályainak visszaállításában, amelyek lehetővé teszik, hogy újra hozzáadja őket. Amikor a felhasználó a "Küldés" gombra kattint, anélkül, hogy kitöltené a visszajelzési űrlap összes AJAX mezőjét, elveszítjük a rázkódás animációját. És ha nem tölti be újra az összes mezőt, újra meg kell játszanod ezt az animációt.
Ezt az űrlapot a (z) EMG () függvény fölött hívhatja erre az Űrlap () függvényre. amelyet a hibaüzenethez hoztunk létre. Ez például:
Most, hogy a felhasználó megpróbálja elküldeni az űrlapadatokat az összes mező kitöltése nélkül, rázza meg, hogy világossá tegye, hogy valami nincs rendben.
További érvényesítés
A kliens oldalon történő érvényesítés jó, de bármelyik felhasználó letilthatja azt, és üres mezőkkel elküldi az űrlapot a böngésző kódjának szerkesztésével. Szerveroldali érvényesítési szolgáltatást kell létrehoznia.
Meg kell nyitnunk a process.php fájlt, és meg kell hoznunk a szükséges változtatásokat annak biztosítására, hogy minden mező kitöltésre kerüljön. A $ errorMSG változót létrehozzuk. amellyel elfogjuk a hibaüzeneteket, majd engedélyezzük a $ _POST további ellenőrzését:
Ez a PHP kód ellenőrzi, hogy vannak-e üres AJAX űrlapmezők. mielőtt az adatokat megfelelő változóként állítja be (a $ _POST-ban megadott kódok által meghatározott meglévő változókat helyettesítik). Ha a mezők üresek, egy általános üzenetet adunk meg, amelyet vissza kell küldeni az ügyfélnek.
Az eredeti AJAX hívásra válaszul hibaüzenetet kell küldeni, amely megjelenik a böngészőben. Ehhez módosítsa az if utasítás. amelyet korábban a PHP kód alján hoztunk létre:
Az if utasítás segítségével ellenőrizzük, hogy a $ errorMSG változó üres-e (""). és a beépített Mail funkció állapota. amit a $ sikeres változóhoz használtunk. Az egyéb pontban engedélyeztünk egy további ellenőrzést annak megállapítására, hogy a hiba sikertelensége-e. Ha igen, visszajelzést küldünk "Valami rosszra fordult:". Ellenkező esetben egy üres mezőkre ellenőrzött üzenetet küldünk.
És az utolsó lépés az, hogy elfogadja az új üzenetet az AJAX-ban és kiadja a formában. Az AJAX objektumot a scripts.js fájlban az alábbiak szerint kell frissíteni:
Frissítettük a többi feltételeket. amely ellenőrzi a levelezés szövegét == siker. Máshol a függvény formError () függvényt hívjuk. amely az animációt "rázza", és kérje a PHP-től visszaküldött szöveges submitMSG () függvényt.
következtetés
Menj Githubba. hogy láthassa az egész kódot. Most az AJAX PHP visszajelzési űrlapja biztosítja a felhasználó számára, hogy mely mezőket nem töltötte be. Kontextuális üzeneteket adunk ki a státusz alapján és visszaadjuk a PHP üzenetből. Ezenkívül végrehajtott egy további ellenőrzési szintet a kiszolgálói oldalon azon felhasználók számára, akik megkerülik az elsődleges érvényesítést.
A Saitostroenie projekt A-tól Z-ig tartó baráti csapata készítette el a "Bootstrap kapcsolatfelvételi űrlap létrehozása a PHP és az AJAX segítségével" cikket.