Отправка формы через AJAX после проверки полей javascript validator
Как убедиться в том, что запрос AJAX посылается только в случае успешного завершения встроенного в Joomla JS валидатора.
Подключение валидации описанно здесь.
Если вкратце, то надо подключить.
JHTML::_('behavior.formvalidation');
Joomla работает на основе глобальной переменной Joomla.submitform. Надо создать свой собственный путь проверки.
Например:
Создание кнопки
<a href="#" onclick="MyValidation.mySubmitForm">...</a>
Определить процедуру:
var MyValidation = {}; MyValidation.mySubmitForm = function(e) { var domForm = document.getElementById('form-site'); if (document.formvalidator.isValid(domForm)) { // не забудьте определить задачу Joomla.submitform(task, domform); } return false; }
Ну и надо не забывать, чтобы страница не перезагружалась при нажатии на кнопку отправки надо:
- Прикрепить обработчик к кнопке, вставленной в форму и возвращающий false, чтобы остановить любые дальнейшие действия с формой.
- Удалить атрибут action из тега form.
- Использовать <insert type="button" ...