在a4j:ajax oncomplete中如何获取id?
我已经面对了a4j:ajax组件的问题。如何在oncomplete函数中获取父组件的id 我有rich:dataTable,所有列都是带有ajax listener的inputText,我需要做的是当ajax验证返回false时,我需要关注该字段并将背景更改为红色。不幸的是,我不知道如何从标签中获取特定inputText的Id。下面的代码告诉我将要做什么,但组件的id未定义。我猜因为这是ajax函数的id而不是inputText 代码如下:在a4j:ajax oncomplete中如何获取id?,ajax,jsf,richfaces,ajax4jsf,Ajax,Jsf,Richfaces,Ajax4jsf,我已经面对了a4j:ajax组件的问题。如何在oncomplete函数中获取父组件的id 我有rich:dataTable,所有列都是带有ajax listener的inputText,我需要做的是当ajax验证返回false时,我需要关注该字段并将背景更改为红色。不幸的是,我不知道如何从标签中获取特定inputText的Id。下面的代码告诉我将要做什么,但组件的id未定义。我猜因为这是ajax函数的id而不是inputText 代码如下: <h:inputText value= "#{r
<h:inputText value= "#{resultsTableRow[valueOfField]}" >
<a4j:ajax event="blur" exceute="@form" render="submitManualsButton"
listener="#{bean.theActionListener(resultsTableRow.identifier , columnDBName)}"
oncomplete=" if (#{bean.validationResult}) #{rich:component('validationPopup')}.show();
setFocusOnElement(this.id); // <----- that is crucial
return false;" />
</h:inputText>
任何帮助都会很好!提前感谢……好吧,给输入一个id并使用它
<h:inputText id="input" …>
…
setFocusOnElement("input");
…
SetFocusOneElement(“输入”);
现在,由于FULLID看起来不同,您需要执行以下操作:
<rich:dataTable rowKeyVar="rk" …>
…
<h:inputText id="input#{rk}" …>
…
setFocusOnElement("input#{rk}");
function setFocusOnElement(id)
{
$('[id$=' + id + ']').focus();
}
…
…
SetFocusOneElement(“输入#{rk}”);
函数setFocusOneElement(id)
{
$('[id$='+id+']')。焦点();
}
谢谢,这可能有用。。。但是万一我每行有多个5,6个输入呢?在这种情况下,您可能需要确定bean中的id,然后检索它们。您可以使用数据
属性进行此操作。
<rich:dataTable rowKeyVar="rk" …>
…
<h:inputText id="input#{rk}" …>
…
setFocusOnElement("input#{rk}");
function setFocusOnElement(id)
{
$('[id$=' + id + ']').focus();
}