У меня есть форма с несколькими полями ввода. Я использую виджет tabStrip KendoUI для группировки полей ввода. Я использую валидатор Kendo, и при отправке формы выдаются некоторые сообщения об ошибках. Проблема в том, что если поле ввода с сообщением об ошибке находится на другой вкладке, то пользователь, выбранный в данный момент, не сможет его увидеть. Чего я хочу добиться, так это когда форма будет проверена, вкладка, содержащая первое поле ввода с сообщением об ошибке, которое нужно выбрать, и фокус, который будет находиться на этом поле ввода. Вот пример кода:
Код: Выделить всё
$("#tabStrip").kendoTabStrip();
[list]
[*]Master Info
[*]Developer Info
[/list]
Folder Name:
Afk:
Update Folder:
Age:
После отправки запускается проверка формы, и я обнаруживаю первую вкладку, содержащую ввод с сообщением об ошибке. Но установка фокуса на первый элемент с сообщением об ошибке не работает. Я подозреваю, что элемент ввода еще не загружен после отправки. Вот js-код:
Код: Выделить всё
if (!omega.validatable.validate()) {
//Select all the tab strips
tabs = $("#tabStrip").find('div[id^=tabStrip]');
var tabStrip = $("#tabStrip").data("kendoTabStrip");
//Loop through the tab strips looking for an input containing the error class
for (var i = 0; i < tabs.length; i += 1) {
if ($(tabs[i]).find('input[class~=k-invalid]').length > 0) {
tabStrip.select(i);
// Set focus on the first input element with error message
$('input.k-input.k-invalid:first').focus();
break;
}
}
return false;
}
с помощью
Код: Выделить всё
$(document).ready(function () {
$('input.k-input.k-invalid:first').focus();
});
на этом этапе тоже не помогает. Пожалуйста, помогите. Спасибо!
Подробнее здесь:
https://stackoverflow.com/questions/110 ... ter-submit