我将如何在a4j:ajaxoncomplete中获取id



我遇到了a4j:ajax组件的问题。如何在oncomplete函数中获取父组件的id?

我有丰富的:dataTable,所有列都是带ajax监听器的inputText,我需要做的是,当ajax验证返回false时,我需要关注该字段并将背景更改为红色。不幸的是,我不知道如何从标记中获取特定inputText的Id。下面的代码告诉我要做什么,但组件的id是未定义的。我想是因为这是ajax函数的id而不是inputText。。。

这是代码:

<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>

和js函数:

function setFocusOnElement( element)
{   
   $(resolveId(id)).focus();
}

任何帮助都会很棒!提前感谢。。。。

好吧,给输入一个id并使用它。

<h:inputText id="input" …>
    …
    setFocusOnElement("input");

现在,由于fullId看起来不一样,你需要做这样的事情:

<rich:dataTable rowKeyVar="rk" …>
    …
    <h:inputText id="input#{rk}" …>
        …
        setFocusOnElement("input#{rk}");
function setFocusOnElement(id)
{   
    $('[id$=' + id + ']').focus();
}

相关内容

  • 没有找到相关文章

最新更新