2012-12-22 44 views
1

A具有actionListener的primefaces commandButton。在页面上我也有几个对话框,其中一些被打开,另一些被关闭。我需要动态地查找第一个关闭的对话框,调用actionListener方法,并将该参数传递给该方法,并使用该对话框首先关闭的信息。我使用该信息更新该对话框,并调用show()方法打开对话框。我认为只有可能的地方是onstart方法,但我找不到从onstart方法传递ajax参数的方法。有没有解决方案?从onstart函数中添加ajax参数

我使用Primefaces 3.4,JSF 2.1。

回答

0

如果我理解你是正确的,你希望将值保存在JavaScript变量中以及表单提交中。最简单的方法是将其设置为<h:inputHidden>组件的HTML表示的值。

鉴于这种JSF

<h:form id="form"> 
    <h:inputHidden id="hidden" value="#{bean.hidden}" /> 
    ... 
</h:form> 

和这个JS

var some = "some value"; 

您可以通过JS如下

document.getElementById("form:hidden").value = some; 

或设置它,因为你使用PrimeFaces,由jQuery

$("#form\\:hidden").val(some); 

在JSF操作方法中,它直接可用作hidden属性。

+0

是的,可以这样做,现在我将使用该解决方案。这是某种特定的情况。我有数据表,我想让用户打开一些条目的细节对话框。我可以从javascript whick对话框中找到关闭的内容,并在该值上设置隐藏字段。在这一刻我把隐藏的领域。感谢你的时间BalusC。 – partlov

+0

你不能仅仅通过点击对话框关闭按钮来执行这个工作吗? – BalusC

+0

我在看到primefaces上的代码更改时看到的是他们将cfg参数添加到onstart函数中。该参数应该是用于低级AjaxRequest函数的相同参数,并且我可以设置更新或进程字段以及其他一些参数,并且它可以工作。但是不可能设置params字段。也许这是错误。请参阅[链接](http://code.google.com/p/primefaces/issues/detail?id=3891)和[链接](http://code.google.com/p/primefaces/source/detail ?r = 7347) – partlov