Как сфокусироваться на текстовом поле ввода формы при загрузке страницы с помощью jQuery?

Это, наверное, очень просто, но может ли кто-нибудь сказать мне, как заставить курсор мигать в текстовом поле при загрузке страницы?

Ответ 1

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

 $("input:text:visible:first").focus();

Это также первое текстовое поле, но вы можете изменить [0] на другой индекс:

$('input[@type="text"]')[0].focus(); 

Или вы можете использовать ID:

$("#someTextBox").focus();

Ответ 2

Вы можете использовать HTML5 autofocus для этого. Вам не нужен jQuery или другой JavaScript.

<input type="text" name="some_field" autofocus>

Обратите внимание, что это не будет работать на IE9 и ниже.

Ответ 3

Конечно:

<head>
    <script src="jquery-1.3.2.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function() {
            $("#myTextBox").focus();
        });
    </script>
</head>
<body>
    <input type="text" id="myTextBox">
</body>

Ответ 4

Почему все используют jQuery для чего-то простого.

<body OnLoad="document.myform.mytextfield.focus();">

Ответ 5

Подумайте о своем пользовательском интерфейсе, прежде чем делать это. Я предполагаю (хотя ни один из ответов не сказал так), что вы будете делать это, когда документ загружается с использованием функции jQuery ready(). Если пользователь уже сосредоточился на другом элементе до того, как документ загрузился (что вполне возможно), он крайне раздражает их, чтобы фокус был украден.

Вы можете проверить это, добавив атрибуты onfocus в каждый из ваших элементов <input>, чтобы записать, был ли пользователь уже сосредоточен в поле формы, а затем не крал фокус, если они:

var anyFieldReceivedFocus = false;

function fieldReceivedFocus() {
    anyFieldReceivedFocus = true;
}

function focusFirstField() {
    if (!anyFieldReceivedFocus) {
        // Do jQuery focus stuff
    }
}


<input type="text" onfocus="fieldReceivedFocus()" name="one">
<input type="text" onfocus="fieldReceivedFocus()" name="two">

Ответ 6

HTML:

  <input id="search" size="10" />

JQuery

$("#search").focus();

Ответ 7

Извините, что столкнулся с старым вопросом. Я нашел это через google.

Также стоит отметить, что его можно использовать более одного селектора, таким образом вы можете настроить таргетинг на любой элемент формы, а не только на один конкретный тип.

например.

$('#myform input,#myform textarea').first().focus();

Это сфокусирует первый вход или текстовую область, которую он найдет, и, конечно же, вы можете добавить и другие селекторы в микс. Hnady, если вы не можете быть уверены в том, что определенный тип элемента является первым, или если вы хотите что-то общее или повторно используемое.

Ответ 8

Это то, что я предпочитаю использовать:

<script type="text/javascript">
    $(document).ready(function () {
        $("#fieldID").focus(); 
    });
</script>

Ответ 9

место после ввода

<script type="text/javascript">document.formname.inputname.focus();</script>

Ответ 10

Самый простой и легкий способ добиться этого

$('#button').on('click', function () {
    $('.form-group input[type="text"]').attr('autofocus', 'true');
});

Ответ 11

$('#myTextBox').focus() строка $('#myTextBox').focus() не будет помещать курсор в текстовое поле, вместо этого используйте:

$('#myTextBox:text:visible:first').focus();