javascript - RichFaces 命令按钮的 onclick 方法

标签 javascript jsf richfaces ajax4jsf

我正在使用 RichFaces 命令按钮,我需要它在单击时执行两个功能,一个接一个。现在,我有这样的代码:

<a4j:commandButton  styleClass="btn-hide"
                                        onl
                                        id="btnId"  
                                        type="submit" 
                                        value="addNew"
                                        rendered="true" 
                                        reRender="panel"
                                        eventsQueue="eventQueue"    
                                        status="eventQueue" 
                                        actionListener="#{(someMethod.something)}"                                           
                                        oncomplete="javascript:something;this.disabled=false"
                                        onclick="Bean.setDesc(document.getElementById('inputArea').value);this.disable=false"
                                        ignoreDupResponses="true"
                                        immediate= "true"> 
                                          <s:conversationId></s:conversationId>
                            </a4j:commandButton>

如果您查看 onclick 部分,我需要先运行 Bean.setDesc,然后再运行 this.disabled=false。我将如何按时间顺序执行此操作?

谢谢

最佳答案

这是一个让您入门的代码 stub 。如果您希望直接从客户端获取值并使用 javascript 将它们传递给服务器方法,您将需要使用 a4j:jsFunction。

<h:form id="form1" prependId="false">        

    <a4j:jsFunction 
        name="setDesc"
        action="#{exampleBean.actionMethod()}" 
        immediate="true">
        <a4j:param name="inputAreaValue" assignTo="#{exampleBean.desc}"/>
    </a4j:jsFunction>

    <h:commandButton id="button" onclick="setDesc(document.getElementById('inputArea').value); this.disabled = true;" />
</h:form>

和托管 bean:

@ManagedBean(name = "exampleBean")
@SessionScoped
public class ExampleBean implements Serializable {

    private static final long serialVersionUID = 6823632613070575039L;

    private String desc;

    public String getDesc() { return desc; }
    public void setDesc(String desc) { this.desc = desc; }

    /**
     * Action Method 
     */
    public void actionMethod() {
        // do something here
    }


}

关于javascript - RichFaces 命令按钮的 onclick 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6257872/

相关文章:

javascript - 使用 React 和 SheetJS 导出到 excel

javascript - 灯箱 iframe 关闭

java - 我想在每个浏览器关闭浏览器后注销我的应用程序?

javascript - 在弹出确认对话框之前执行某些操作

javascript - 如何在 Recharts 中为 YAxis 创建自定义垂直标签,以防标签太长?

java - 双击 OpenFaces 树/数据表

javascript - JSF 调用支持 bean 方法并在 ENTER 键上重新呈现组件

java - 丰富的 :editor rerender problem

java - 为什么 richfaces 树示例不起作用?

javascript - 如何将各种放入函数范围之外的数组中