2010-04-27 3 views
2

Я пытаюсь установить фокус на текстовое поле на событие загрузки страницы. Я пробовал много решений, ссылаясь на идентификатор элемента, но не смог сфокусировать элемент. Позже, когда я проверяю элемент с помощью firebug, который я нашел для того же элемента, идентификатор изменяется в другом исполнении. Я ищу простейшего решения с помощью JavaScript или JQuery для достижения этойКак установить фокус на текстовое поле на событие загрузки страницы

<h:form id="form"> 
     <rich:dataTable value="#{books}" var="book"> 
     <ui:repeat value="#{authors}" var="author"> 
      <h:inputText value="#{author.name}"/> 
     </ui:repeat> 
     </rich:dataTable> 
</h:form> 

ответ

2

Использование

$('#form :input:visible:enabled:first').focus(); 

во время документа готов.

+0

Я использовал как это. Это верно? Не удалось установить фокус на элемент. Achaius

+0

Спасибо, работал как шарм –

1
Private Sub SetFocus(ByVal ctrl As Control) 
' Define the JavaScript function for the specified control. 
Dim focusScript As String = "<script language='javascript'>" & _ 
"document.getElementById('" + ctrl.ClientID & _ 
"').focus();</script>" 

' Add the JavaScript code to the page. 
Page.RegisterStartupScript("FocusScript", focusScript) 
End Sub 

надеюсь, что это поможет вам ..

+1

Это VB? Как это помогает? – karim79

4
$(document).ready(function(){ 
    $('input.selected').focus(); 
});  

Если фокус ввода элемента с классом «выбранным» на загрузка страницы.

+1

Где находится класс 'selected'? Я просто пропустил его? – user113716

+0

совсем не было, поскольку Кальпана попросил «текстовое поле», он не сделал заявления, что это первая или последняя в его разметке. Итак, я решил, что это, вероятно, хорошая идея привлечь класс. – jAndy

1

Использование JQuery, это будет захватить первый входной дочерний #form:

$('#form input:eq(0)').focus(); 
+0

Я использовал это внутри формы, не смог установить фокус Achaius

+0

Если вы посмотрите в Firebug, вставлен ли скрипт? Я предполагаю, что у вас есть фреймворк jQuery. Если да, то где? Он должен быть загружен, прежде чем вы сможете запустить любой код jQuery. – user113716

1

Согласно whatwg.org атрибут автофокусировка HTML5 доступен только в Opera на данный момент, но будет принята другими браузерами в будущем ,

<input type="text" autofocus /> 

<script> 
    // jQuery 
    $(function(){ 
     if(!("autofocus" in document.createElement("input"))){ 
      $("input[autofocus]:eq(0)").focus(); 
     } 
    }); 
</script> 
Смежные вопросы