2013-08-13 2 views
-2

Я пытаюсь установить фокус на текстовое поле в форме, которая является частью дерева jQuery. Вот мой кодset focus() on textbox on form onload

$(document).ready(function() { 

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

}); 

HTML:

<div> 
    <form action="search" method="post" name="frmSearch> 
      <label for="search">Search:</label> 
     <input type="text" name="search" id="search" /> 
     <input type="submit" name="button" value="Search" /> 
    </form> 
</div> 

Когда я нажимаю на вкладке Поиск в дереве, он не будет установлен фокус на текстовом поле. Может ли кто-нибудь сообщить мне, что не так в коде?

+0

закрыть скобку –

+0

Как только вы нажмете на страницу, основное внимание будет удалено от входа и если вы только что нажали – cfs

+1

Что вы подразумеваете под «нажатием на вкладку« Поиск »? –

ответ

0

Я сделал некоторые изменения в ваших JS-кодов

http://jsfiddle.net/8CTqN/5

$(document).ready(function(){ 
    $(function(){ 
     $("#search2").focus();  
    }); 
});  
+0

Почему вы это делаете? – smerny

+0

, чтобы показать ему рабочий пример его кодов для лучшей визуализации – Ali

+1

, но вы удалите вызов, чтобы сосредоточиться на загрузке, вы не пытаетесь дать фокус. это не имеет никакого отношения к вопросу. – smerny

5

Вы фокусирования текстовое поле на странице загрузки, однако, как только вы щелкните в любом другом месте на странице (например, вкладку), фокус будет удален из текстового поля и предоставлен для всего, что вы только что нажали.

Вместо фокусировки на загрузке страницы присоедините прослушиватель кликов к своей вкладке, чтобы при нажатии на него текстовое поле search фокусируется. Так как я не видел все разметки, я использую #mySearchTab как заполнитель для идентификатора вкладки поиска:

$(document).ready(function() { 
    $("#mySearchTab").on('click', function() { 
     $('#search').focus(); 
    }); 
}); 

Кроме того, не забудьте закрыть функции с ).

Я не уверен, как выглядит ваше дерево, но вот working demo, используя вкладки jQuery.

+3

Кто бы ни запустил это - объясните, пожалуйста. Это единственный ответ, который, по-видимому, затрагивает проблему в OP – smerny

+1

yep, некоторые действительные точки против этой опции тоже. Как-то я все еще не могу согласиться;), но давайте оставим это в этом, потому что это, вероятно, не область для этого (обычно я считаю, что кто-то, кто проголосовал за хороший пост без комментариев, как тролль: P) – Harry

+0

@AliCarikcioglu, я не вижу вашего ответа .. извините, я здесь новый, я чего-то не хватает – user2675939

0

попробовать следующее:

$(function(){ 
    $("input:first:text").focus();  
}); 

работает скрипку здесь: http://jsfiddle.net/8CTqN/2/

протестирован на хроме

+0

Что здесь общего? Проблема заключается не в селекторе. – melancia

+0

Невозможно работать, если требуется несколько элементов ввода текста. Не считайте это негативным комментарием, я просто подчеркиваю этот момент. – Harry

+0

@MelanciaUK: Я не знаю, почему мой firefox не фокусируется, когда сначала. хром делает это. – maverickosama92