2010-04-27 9 views
2

페이지로드 이벤트의 텍스트 상자에 포커스를 설정하려고합니다. 요소 ID를 참조하여 많은 솔루션을 시도했지만 요소를 집중할 수 없었습니다. 나중에 방화범을 사용하여 요소를 검사 할 때 같은 요소에 대해 ID가 다른 실행에서 변경된다는 것을 발견했습니다. 나는 ..이 당신을 도울 것이페이지로드 이벤트에서 텍스트 상자에 포커스를 설정하는 방법

<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

이렇게 사용했습니다. 이 올바른지? 요소에 포커스를 설정할 수 없습니다. author.name} "/> 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 

희망을 달성하기 위해 자바 스크립트 또는 jQuery를 사용하여 간단한 솔루션을 찾고 있어요

+1

VB인가요? 그게 어떻게 도움이됩니까? – karim79

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

은에 '선택'클래스와 입력 요소를 집중해야한다 페이지로드. HTML5의 자동 초점 속성이 순간에 오페라에서만 사용할 수 있지만 앞으로 다른 브라우저에 의해 채택 될 것이다 whatwg.org에 따르면

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

'selected' 클래스는 어디서 제공됩니까? 나는 그것을 놓치고 있니? – user113716

+0

Kalpana가 "the"텍스트 상자를 요구 한 이래로 그는 이것이 자신의 마크 업에서 처음 또는 마지막이라고 선언하지 않았습니다. 그래서 나는 수업을 참여시키는 것이 좋은 생각이라고 생각했습니다. – jAndy

1

이는 #form의 첫 번째 입력 아이를 사로 잡고 . 준비 문서 중

<input type="text" autofocus /> 

<script> 
    // jQuery 
    $(function(){ 
     if(!("autofocus" in document.createElement("input"))){ 
      $("input[autofocus]:eq(0)").focus(); 
     } 
    }); 
</script> 
+0

양식 내부에서 이와 같이 사용하여 포커스를 설정할 수 없습니다. jQuery (document) .ready (function() { $ ('# 양식 입력 : eq 0) '). 초점(); }); – Achaius

+0

파이어 버그를 보면 스크립트가 삽입되고 있습니까? 어딘가에 참조 된 jQuery 프레임 워크가 있다고 가정합니다. 그렇다면 어디에서? jQuery 코드를 실행하려면 먼저로드해야합니다. – user113716

1

: jQuery를 사용하여

관련 문제