Установите фокус на элемент ввода после отправкиJquery

Программирование на jquery
Anonymous
Установите фокус на элемент ввода после отправки

Сообщение Anonymous »

У меня есть форма с несколькими полями ввода. Я использую виджет 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

Вернуться в «Jquery»