如何从PrimeFaces中的JavaScript在托管bean中设置参数

如何从PrimeFaces中的JavaScript在托管bean中设置参数,javascript,jsf,primefaces,Javascript,Jsf,Primefaces,我有两个自动完成字段,如下所示。我使用命令按钮交换自动完成值。我需要保留交换的值 单击id为“flipButton”的commandbutton时,将调用下面的javascript,并交换自动完成字段的值 function swapInput() { var input_a =document.getElementById('addContactRelationshipForm:contactName1_input').value; var input_b =documen

我有两个自动完成字段,如下所示。我使用命令按钮交换自动完成值。我需要保留交换的值


单击id为“flipButton”的commandbutton时,将调用下面的javascript,并交换自动完成字段的值

function swapInput()
{
    var input_a =document.getElementById('addContactRelationshipForm:contactName1_input').value; 
    var input_b =document.getElementById('addContactRelationshipForm:contactName2_input').value;

    document.getElementById('addContactRelationshipForm:contactName1_input').value = input_b;
    document.getElementById('addContactRelationshipForm:contactName2_input').value = input_a;
}

交换值后,我尝试保留交换的值,但保留的是原始值,而不是交换的值。我必须使用javascript或primefaces在支持bean中设置交换的值,但不确定如何执行。

您可以使用Preimefaces p:remoteCommand来执行托管bean方法。

将命令按钮更改为

<p:commandButton icon="ui-icon-arrow-2-e-w" 
                 id="flipButton" 
                 styleClass="ui-panel-titlebar-icon" 
                 oncomplete="swapInput()" 
                 update="addNewContactRelationshipPanel" 
                 immediate="true" 
                 process="@this" 
                 actionListener="#{contactRelationshipController.setSwapInputFlag()}"/>

然后在保存自动完成字段的同时检查
swapInputFlag