AjaxForm class error
Обнаружил при использовании в форме выпадающего списка select следующий баг.
Когда у select есть класс error, который добавляется при ошибке, то при отправлении формы все option (варианты выбора) удаляются. Это происходит тут:
У себя я сделал следующие изменения:
1. Заменил
2. Заменил
3. Заменил в двух местах
Если тема Bootstrap 3 не используется, можно просто добавлять класс has-error прямо к элементу формы:
Вместо пункта 2 заменить
Когда у select есть класс error, который добавляется при ошибке, то при отправлении формы все option (варианты выбора) удаляются. Это происходит тут:
form.find('.error').html('');
А ведь нужно очищять html только у тега, в котором текст ошибки.У себя я сделал следующие изменения:
1. Заменил
form.find('.error_' + key).html(value).addClass('error');
наform.find('.error_' + key).html(value);
потому что класс error у тегов с тексами ошибок нет необходимости удалять2. Заменил
form.find('[name="' + key + '"]').addClass('error');
наform.find('[name="' + key + '"]').parent().addClass('has-error');
именно этот класс отвечает за выделение красным в Bootstrap 3, у меня каждый элемент формы выводится следующим образом:<div class="form-group">
<input type="text" name="example" value="[[+fi.example]]" class="form-control"/>
<span class="error error_example">[[+fi.error.example]]</span>
</div>
3. Заменил в двух местах
form.find('.error').removeClass('error');
наform.find('.has-error').removeClass('has-error');
именно этот класс теперь удаляетсяЕсли тема Bootstrap 3 не используется, можно просто добавлять класс has-error прямо к элементу формы:
Вместо пункта 2 заменить
form.find('[name="' + key + '"]').addClass('error');
наform.find('[name="' + key + '"]').addClass('has-error');
и добавить такие же стили для has-error как и у error. Комментарии: 2
Олег добрый вечер.
Подскажите пожалуйста если в курсе, где добавлять значения для разных ошибок при вводе полей типа [[+fi.error.example]] на вашем примере:
Но не пойму где прописывать их.
Буду очень признателен ))
Подскажите пожалуйста если в курсе, где добавлять значения для разных ошибок при вводе полей типа [[+fi.error.example]] на вашем примере:
<div class="form-group">
<input type="text" name="example" value="[[+fi.example]]" class="form-control"/>
<span class="error error_example">[[+fi.error.example]]</span>
</div>
Хотелось бы чтоб для каждого поля выводилась своя ошибка а не одна на все.Но не пойму где прописывать их.
Буду очень признателен ))
Не знаю, ошибки выдает FormIt.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.