Код: Выделить всё
{% set form = active_form_begin({
'options' : {
'id' : 'form-create-market',
'class' : 'form-horizontal',
},
'enableAjaxValidation' : true,
'enableClientValidation' : false,
}) %}
...
<div class="form-group text-center">
<input type="submit" name="button" id="button-create-market" value="{{ t('markets.main', 'CREATE_MARKET') }}" class="btn btn-primary" />
</div>
{{ active_form_end() }}
Проблема 1:
После успешной валидации, если нажать на кнопку submit что-то где-то обновляет страницу, похоже на location.href, как это отключить ?
Где-то в глубинах интернета я нашел вот такие вот обработчики:
Код: Выделить всё
$('body').on('beforeValidate', '#form-create-market', function(event, messages, deferreds) {
// Вызывается до валидации всей формы сразу после нажатия submit.
console.log(1);
});
$('body').on('beforeSubmit', '#form-create-market', function() {
// Вызывается после удачной валидации всех полей и до того как форма отправляется на северер.
console.log(2);
$(this).append("<input type=\"hidden\" name=\"submit\" value=\"1\" />");
});
$('body').on('afterSubmit', '#form-create-market', function() {
// Вызывается после удачной валидации всех полей и после того как форма отправляется на северер.
console.log(3);
});
2 - работает но после успешной валидации
до 3 не доходим, так как что-то обновляет страницу.
Вопрос как получить результат ответа от сервера в js переменную ?
как-то вот так:
Код: Выделить всё
console.log(response);
И 3 вопрос: У нас есть дефолтный yii2 js файл, который организовывает валидацию форм (ну например помечает классами ошибок нужные поля формы), можно ли как-то его использовать не для активрекордских, а для обычных форм ?