Rsform - Аякс изпращане на документи, без да презаредите страницата

Здравейте скъпи приятели! В тази статия искам да покажа как можете да изпращате данни от компонент форма RSForm за Joomla 3 без презареждане на страницата, като използвате Аякс технологии. Също така искам да кажа, че този метод ви позволява да изпращате прикачени файлове от формата. За да подадете формуляра Използвах JQuery добавка, наречена JQuery Форма Plugin. Нека сега първите неща, на първо място.

За да започнете, ви предлагам да видите демонстрация, т.е. как работи всичко, така че да не губите време за нещо, което в крайна сметка то може да не го харесва.

Вижте също: бутон Анимирани за формата, в чист CSS

Така че, го изтеглите от линка по-горе. Архивът съдържа три файла: самата библиотека JQuery Форма на приставката (formplugin.js), плъг-ин инициализация скрипт (init.js) и стилизиращи благодарение Публикации стилове (style.css). Кука Scripts в шаблона на сайта ни. Можете да добавите връзка преди тялото на затваряне.

Свързване JQuery е винаги по-висока от скриптове, които зависят от него. След това отидете на контролния панел и откриването Joomla създаден под формата на RSForm. Тук трябва да добавим обща обвивка с определен клас от всички области на формата. Ние ще се скрие под формата и да се покаже съобщение за успех. Но преди кода за вграждане трябва да изключите автоматичното генериране на код. За тази цел през кода на полето ще изложи на ключа "Генериране оформление автоматично" да "Не". Така че, отвори формата за редактиране в RSForm -> Properties -> Layout форма. Аз RSForm интерфейс е преведен на български език, ако не разполагате с превода, а след това да се ръководи от снимката по-долу. Поставете отваряне DIV маркер с клас скрий-форма-успеха след етикета "", и затварящия маркер DIV поставена в края на кода.

Внимание! Не изваждайте "" кодове, като в този случай, валидиране на формата няма да работи коректно.

Rsform - Аякс изпращане на документи, без да презаредите страницата

Следващото нещо, което ние ще направим, е да се промени формата на indefikator, да зададете името си в зависимост от формата на дестинация. По подразбиране, формата се дава от ИД = »userForm». Аз, например, тази форма на демо сайта нарича ИД = »demoForm». Отиди на формата и промяна на атрибутите.

Rsform - Аякс изпращане на документи, без да презаредите страницата

И още нещо, че трябва да се даде възможност на полета валидиране Аякс форма в раздела настройки "на формата на информация." Изключена по подразбиране Аякс. Необходимо е за нас да се покаже съобщение за грешка, ако потребителят не попълвате полетата, или попълнете ги не е вярно.

Rsform - Аякс изпращане на документи, без да презаредите страницата

Сега отворете файла и инициализира init.js нашата форма с идентификатор = »demoForm» да изпратите. Също така тук Въведете текстовото съобщение, което ще се появи, след като изпратите формуляра.

Ако имате уебсайт, няколко форми, кодът за инициализация е необходимо да се регистрирате всеки вид.

Вижте също: А просто форма на комуникация на Аякс

Може да имате възможност да стилизирам изходните послания на благодарност.

Поставяне стилове във вашия шаблон файлови стилове.

Всичко това, ако сте направили всичко правилно, а след това под формата трябва да работят по-дълго без презареждане със сключването на успешното изпращане на съобщението.

Във връзка с пускането на нова версия RSForm 1.52 ++ известие, което не работи Аякс изпращане на формуляр за валидиране активиран Аякс. Ако забраните валидирането, формата изпраща празен данни. Фактът, че най-новите версии на разработчиците висят проверки събития пренесат полета на бутона за изпращане, което доведе навреме за неработоспособност на горния метод. Аз трябваше да добавите валидиране и валидирането Аякс родния RSForm забранено. Публикувам пълния код плъгин тук. Единственото нещо е да се помисли, че задължителните полета трябва да бъдат обвити кутия с клас - задължително поле.

Докато се срещнем отново!

Заур Магомедов

Аз можете да:

Поръчайте сега Поръчайте сайт до ключ

Заур Добър ден, можете да подпомагат разработването на електронна поща, а именно как да се направи това, което изпращат писма от потребителя (клиента) показва информация с какви страници са изпратени до данните, струва си да имам версия 1.51 уви сложи 1.52 на вашия метод с кода за подмяна ( ЗАТВОРЕНО) е налице конфликт, проблемът с valeidatsiey, а именно да не се показва съобщение за грешка входни полета. Сам Валидатор работи и не позволяват да изпращате безплатно информация, но изход съобщението за грешка червено А ​​не работи. И още един въпрос относно демо, коя версия на Joomla ви трябва и какво версия RSForm. Най-вероятно си демо версия 1.51. 1.52, но уви, не, че ще се види през изходния код, който е специфичен за вашите JS файлове. А какво да кажем за версия 1.51, ако това ще влязат в конфликт с бъдещите ранни версии на Joomla? За ранни благодаря!

Добре дошли! Header може да се получи. За сметка на валидиране и изпратете формата - но в новата версия rsForm izmzeneniya настъпили и изпращане на кода трябва да бъде пренаписана. Тук се оказва, че този код трябва да се адаптира по всяка маркиране HTML форма код. Universal код пиша аз не мога за съжаление. Аз се обновява rsForm да 1.52.x и форма спря да работи. Необходимо е да се разбере. Сега, за да направите това, трябва да бъда честен няма време.

И как може да получите заглавие? А какво да кажем заглавието означава? Как и как да се получи информация, а именно как страниците са били изпратени пъпеш? Ако например един модул форми, и там е този модул не е същото десет страници, и се нуждаят от информация за това къде потребителите изпращат данните, дали е възможно да се направи функционална точно RSForm без въвеждането на външни ресурси?

Добре, така че тя работи заглавие дърпа никакви проблеми. Друг въпрос е за сметка на конфликт между две форми на обекта, версия 1.51 например, на страница 2 различни форми RSForm с различен номер, първата форма се представя с AJAX втори не е, проверете настройките са едни и същи, че първият, че втората форма, но се представя втората форма с AJAX не иска и сложи точно същия вид на модул 2 пъти на една страница, в една и съща ситуация, първата форма с AJAX на висота, ако са изправени пред подобен проблем.

И втората форма, наречена Аякс за изпращане, както и първия - $ ( "# idForm") sendForm ();?.

В какъв смисъл? Аз не се обади на първия $ ( "# idForm") sendForm () .; Просто завърши форма, в класа на клас = »скрий-форма-успех» и е свързан желаните скриптове, както и всички, но около $ ( "# idForm") sendForm () .; пише в ЙС първоначален. или просто castom JS?