Отправка формы через 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" ...