Динамически созданная форма содержит элементы ввода. Первые элементы могут быть отключены или только для чтения. Я устал код ниже, чтобы установить фокус на первый элемент, который принимает данные, чтобы включить быстрый ввод данных с клавиатуры. Однако, если элемент формы формы отключен или только для чтения, фокус не установлен. Как установить фокус на первый элемент, который принимает данные?
<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>
Обновление
Есть также скрытые поля ввода, извините. Ответы предоставили фокус на скрытый элемент. Функция, содержащая Answr, не находит никакого элемента.
Вот тестовый файл обновления:
$(function () {
$("#form :input:not([readonly='readonly']):not([disabled='disabled'])").first()
.focus();
});
Как настроить фокус на видимый, активированный и не читаемый элемент?
Обновление 3
Я попробовал код Row W, в который был добавлен элемент ввода. Теперь он фокусируется на втором элементе. Testcase показан на в редакции 5 ответа Роба