Динамически созданная форма содержит элементы ввода. Первые элементы могут быть отключены или доступны только для чтения. Я устал от кода ниже, чтобы установить фокус на первый элемент, который принимает данные для включения быстрого ввода данных с клавиатуры формы. Однако, если элемент кулака формы отключен или доступен только для чтения, фокус не установлен. Как установить фокус на первый элемент, который принимает данные?
<form style='margin: 30px' id="Form" class='form-fields' method='post' target='_blank'
action='Report/Render'>
...
<input id='_submit' type='submit' value='Show report' class='button blue bigrounded' />
</form>
<script type="text/javascript">
$(function () {
var elements = $('#Form').find(':text,:radio,:checkbox,select,textarea');
elements[0].focus();
elements[0].select();
});
</script>
Обновление
Есть также скрытые поля ввода, извините. Предоставленные ответы устанавливают фокус на скрытый элемент. Ответ, содержащий функцию, не находит никаких элементов.
Вот тестовый пример обновления:
$(function () {
$("#form :input:not([readonly='readonly']):not([disabled='disabled'])").first()
.focus();
});
Как установить фокус на видимый, активный и не только для чтения элемент?
Обновление 3
Я пробовал код строки W, где добавлен элемент ввода. Теперь он устанавливает фокус на второй элемент. Тестовый пример показан в версии 5 ответа Роба В.