我有一个页面,其中a4j:commandbutton捕获2个文本框的值。文本框值默认为这样:
<a4j:region id="pnreg" >
<h:inputText id="pn" binding="#{bean.pn}"
value="Enter Number..."
onclick="clickclear(this, 'Enter Number...')"/>
</a4j:region>
</td>
<td width="20">
<a4j:region id="qtyreg" >
<h:inputText value="Enter Part Qty..." id="qty" binding="#{bean.qty}"
onclick="clickclear(this, 'Enter Qty...')"/>
</a4j:region>
</td>
<td width="20%">
<a4j:commandButton id="addPart" render="pn,qty" value="Add Part"
action="#{bean.submit}" />
当页面首次加载时,文本框显示默认值,当用户单击它们时,值将被清除为编码。单击该按钮时,我希望文本框返回默认值。使用jquery我想我需要添加一个click事件处理程序,但richfaces api已经有一个附加到a4j:commandbutton的事件处理程序。如何使我的jquery事件处理程序与richfaces eventhandler一起使用?感谢。
答案 0 :(得分:0)
创建一个新的JavaScript函数,在您的文本字段上调用clickclear()。然后修改a4j:commandButton,添加一个oncomplete =“yourNewFuction();”属性,以便在AJAX调用完成时执行新函数。
答案 1 :(得分:0)
如果要设置inputText的值,则应在onclick
的{{1}}方法中添加js函数:
a4j:commandButton
在该代码示例中,<a4j:commandButton id="addPart" value="Add Part"
onclick="alert('Before the ajax submit...');verifyInputTexts();"
action="#{bean.submit}"
render="pn,qty" limitToList="true"
oncomplete="alert('Ajax completed!')" />
可能是您使用javascript验证HTML的JS函数。还有一件事,我为verifyInputTexts
编写属性的方式是按它们执行的顺序编写的,a4j:commandButton
是告诉ajax只应该重新渲染{{1}中的组件}值。
答案 2 :(得分:0)
将inputText放在与“cancel”按钮相同的窗体中,并使用type =“reset” 例如:
<h:form id="globalNotificationSettingsForm">
your input <h:inputText>
<a4j:commandButton id="cancelButton"
....other tags..
render="globalNotificationSettingsForm"
immediate="true"
type="reset"/>
</h:form>