Небольшой вопрос про AjaxForm и Login

Приветствую.
Вызываю Logn с помощтю AjaxForm (форма во всплывающем окне):

[[!AjaxForm?
    	&snippet=`Login`
    	&loginResourceId=`1`
    	&form=`tpl.login`
    	&logoutTpl=`tpl.logout`
  	&logoutResourceId=`1`
   	&validate=`username:required,password:required`
	&validationErrorMessage=`В форме содержатся ошибки!`
	&successMsg=`Всё хорошо!`
	&redirectToPrior=`1`
]]
на данный момент валидацию реализовал ужасно, скорей всего :) (непосредственно в Login записал нужные мне условия).

if (empty($_POST['username'])) {
	return $AjaxForm->error('Ошибки в форме', array('name' => 'Вы не заполнили имя'));
} else {
	.. сам Login ..
}
Но суть вопроса не в этом…

Вроде всё хорошо… работает — как надо, однако стандартные loginResourceId/logoutResourceId не отлавливаются. Форма после успешного входа становиться disabled, и на этом всё. Только после волшебной кнопки F5, можно понять, что авторизация прошла успешно.

Не подскажите как спасти ситуацию?
Благодарю.
Александр
23 сентября 2015, 13:41
modx.pro
2
985
0

Комментарии: 1

Илья Уткин
24 сентября 2015, 11:23
+2
Так как форма AJAX-овая, то и всю обработку надо делать на JS:
<script type="text/javascript">
$(document).on('af_complete', function(event, response) {
    if (response.success) {
        document.location.href = document.location.href;
    }
});
</script>
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1