如何獲得集中所有兩種不同學科的
首先必須在這裏區分:
由幾個組件提供的onfocus
屬性用於在焦點事件作出反應(發生的歷史時,給定的組件接收焦點)。提供的JavaScript被稱爲客戶端。
PrimeFaces元素p:focus
用於控制焦點。有一個自動/隱式(a)和顯式模式(b):
a。將焦點設置爲第一個輸入元素。這也是驗證意識的方式,它將焦點放在第一個無效字段上。
b。 <p:focus for="..." />
使具有給定ID的組件接收焦點。
鏡頭聚焦控制工作:
又來了一個小例子來擺弄:
<h:form>
<p:focus for="textField-#{exampleForm.focusedIndex}"/>
<p:inputText id="textField-1" /><br />
<p:inputText id="textField-2" /><br />
<p:inputText id="textField-3" /><br />
<p:inputText id="textField-4" /><br />
<p:inputText id="textField-5" onfocus="alert('last field focused.');" /><br />
<p:commandButton value="Up" update="@form" action="#{exampleForm.decrementFocus()}" />
<p:commandButton value="Down" update="@form" action="#{exampleForm.incrementFocus()}" />
</h:form>
相應的bean:
import java.io.Serializable;
import javax.faces.view.ViewScoped;
import javax.inject.Named;
@Named
@ViewScoped
public class ExampleForm implements Serializable {
private static final int MIN_INDEX = 1;
private static final int MAX_INDEX = 5;
private int focusedIndex = 1;
public int getFocusedIndex() {
return focusedIndex;
}
public void setFocusedIndex(final int focusedIndex) {
this.focusedIndex = focusedIndex;
}
public void incrementFocus() {
if (focusedIndex < MAX_INDEX)
focusedIndex++;
}
public void decrementFocus() {
if (focusedIndex > MIN_INDEX)
focusedIndex--;
}
}
參見:
當我使用onfocus =「指定Id」時,它會在瀏覽器中顯示未定義的錯誤 – Karthik
是的,因爲'onfocus'屬性需要JavaScript。 –
@Karthik:有沒有進展? –