我想在頁面加載時將焦點設置爲JSF中的inputText字段。我怎樣才能實現這個?在頁面加載時將焦點設置爲特定的JSF inputText
17
A
回答
23
如果您已經使用HTML5和JSF 2.2,請使用HTML5 autofocus
屬性。在JSF 2.2中,您可以將其設置爲passthrough attribute。
<html ... xmlns:a="http://xmlns.jcp.org/jsf/passthrough">
...
<h:inputText ... a:autofocus="true" />
你甚至可以有條件地設置它,你只需要確保該false
條件計算結果爲null
,否則屬性仍將呈現。這是一個HTML布爾屬性,所以只有它的存在已經是觸發器,而不管它的值如何。當該值明確設置爲null
時,JSF將不會呈現整個屬性。
<h:inputText ... a:autofocus="#{component.valid ? null : true}" />
另一種方法是引入一些JavaScript。每個輸入元素都有一個focus()函數。以下幼稚的Vanilla JS方法集中了第一種形式的第一個元素。
window.onload = function() {
document.forms[0].elements[0].focus();
}
如果你想窗口加載過程中聚焦於特定的input元素,然後執行:
window.onload = function() {
document.getElementById('formId:inputId').focus();
}
如果你碰巧有在jQuery的手,更細粒度的檢查,可以做。
$(document).ready(function() {
$(":input:visible:enabled:first").focus()
});
如果你打算只回傳後,執行它,頭下面相關的Q &答:
效用/組件庫可以有內置自動聚焦設施。 OmniFaces有一個<o:highlight>
,它突出顯示回發中的所有無效輸入並自動聚焦第一個輸入。 PrimeFaces默認情況下自動聚焦ajax請求完成時的「last active」元素,並有一個<p:focus>
用於更細粒度的控制。見下面的相關Q &答:
15
如果使用primefaces,你可以關注你的輸入這樣的:
<p:focus for="inputId"/>
相關問題
- 1. 在頁面加載時將焦點設置爲HTML輸入框
- 2. 在頁面加載時自動將焦點設置在p:editor上
- 3. 將焦點設置在頁面加載與沒有使用Javascript
- 4. 刷新/頁面加載時在頁面上設置定位點
- 5. 在頁面加載中設置listboxItem的焦點在Silverlight中
- 6. 如何將焦點設置到特定的部分頁面加載時,使瀏覽器滾動到該位置
- 7. 設置焦點在頁面加載的asp.net控件
- 8. 如何將焦點設置爲Telerik radgrid的頁面加載中的第一行?
- 9. 將selectOneMenu中的選定對象設置爲jsf中的inputText
- 10. JSF頁面inputtext不會在bean中設置屬性
- 11. 在Jquery中加載頁面後設置焦點?
- 12. jQuery的焦點設置上頁面加載
- 13. 將焦點設置爲特殊組件
- 14. 如何在jsf中加載頁面時設置bean屬性?
- 15. 在頁面加載時將jQuery Multiselect DropDownList的值設置爲「All」
- 16. 爲什麼Firefox在頁面重新加載時失去焦點?
- 17. 設置加載頁面時選擇的幾個複選框(jsf)
- 18. 將焦點設置到ASP.NET登錄控件文本框在頁面加載
- 19. 當ContextDialog關閉時,將焦點設置在特定按鈕上
- 20. 如何在flexganttfx中將焦點設置爲特定活動
- 21. 驗證控件 - 將焦點設置在特定的錨點上
- 22. DevExpress將焦點設置爲VerticalGrid的特定行
- 23. 如何將焦點設置爲特定的小部件
- 24. 將焦點設置爲PanoramaItem
- 25. 將焦點設置爲UITabBarItem
- 26. 將頁面加載時的鼠標指針改爲特定div
- 27. 如何在WPF頁面重新載入中設置焦點?
- 28. 如何在dataTable中設置inputText的焦點
- 29. 在頁面回發/頁面加載時爲DropDownList設置選定值?
- 30. jQuery |將焦點設置爲輸入(固定焦點)
https://www.primefaces.org/ showcase/ui/misc/focus.xhtml – Andrew 2017-11-14 23:00:38
請注意,在panelGrid中使用它將會混淆定位......將它放在外面......但是它似乎必須位於相同的表單或其他內部,所以請注意以及... – Andrew 2017-11-14 23:08:28