-1

我有一个页面,其中 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 我想我需要添加一个单击事件处理程序,但是richfaces api 已经有一个事件处理程序附加到 a4j:commandbutton。如何使我的 jquery 事件处理程序与richfaces 事件处理程序一起工作?谢谢。

4

3 回答 3

0

如果你想设置 inputText 的值,那么你应该在onclick方法中添加你的 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!')" /> 

在该代码示例中,verifyInputTexts可能是您的 JS 函数,用于使用 javascript 验证您的 HTML。还有一件事,我a4j:commandButton按照它们执行的顺序编写属性的方式limitToList="true"是告诉 ajax 应该只重新渲染rendervalue 中的组件。

于 2012-04-11T17:18:17.540 回答
0

创建一个新的 JavaScript 函数,在您的文本字段上调用 ​​clickclear()。然后修改a4j:commandButton,添加一个oncomplete="yourNewFuction();" 属性,以便在您的 AJAX 调用完成时执行您的新函数。

于 2012-04-11T15:41:21.547 回答
0

将 inputText 放在与“取消”按钮相同的表单中,并使用 type="reset" 例如:

    <h:form id="globalNotificationSettingsForm"> 
       your input <h:inputText>
       <a4j:commandButton id="cancelButton"
         ....other tags..
        render="globalNotificationSettingsForm"
        immediate="true"
        type="reset"/>
 </h:form>
于 2015-05-21T10:00:28.517 回答