Javascript 从支持bean检索值并在表单提交上显示

Javascript 从支持bean检索值并在表单提交上显示,javascript,ajax,jsf,richfaces,Javascript,Ajax,Jsf,Richfaces,我的jsf页面上有一个a4j:commandbutton。下面是代码摘录- <a4j:commandButton id="submitBtn" value="#{msgsMass.MM_04_02_BTN_CONTINUE}" reRender="addNewCardForm,saveAddNewCardForm" immediate="true" action="#{bBean.retrieveOrderId}" oncomplete="addNewCreditCard(

我的jsf页面上有一个a4j:commandbutton。下面是代码摘录-

<a4j:commandButton id="submitBtn" value="#{msgsMass.MM_04_02_BTN_CONTINUE}"
    reRender="addNewCardForm,saveAddNewCardForm" immediate="true"
    action="#{bBean.retrieveOrderId}" oncomplete="addNewCreditCard()" >

addNewCardForm、saveAddNewCardForm是页面上的html表单,在addNewCreditCard()的javascript调用中显示和提交

在这些表单中,我有一个输入字段,它将显示bBean.retrieveOrderId中的值。但是,只有在表单加载orderId的空白值后,才会调用此bean方法


当表单显示给用户时,请告诉我如何在表单字段中获取orderId值。

注释已转换为答案:


orderId
在正确重新呈现后将显示在表单上。您可以在retrieveOrderId操作期间将表单包装在

表单bean中保存orderId。问题是,当我首次登录时,orderId始终为空-当页面加载与
a4j:commandButton
(参见您的代码)和表单提交(参见问题标题)无关时。在重定向到页面(显示页面)之前,您需要设置bean数据(例如orderId)。我的应用程序中有一个付款页面。当用户想要继续付款时,会调用commandButton。单击此按钮,我将在iframe中显示第三方表单。在这个表单中,我需要获取并显示一个唯一的orderId。因此,这个orderId是在bBean.retrieveOrderId中生成的。检索后,我将其存储在bBean属性orderId中,该属性具有相应的getter和setter。如果在oncomplete javascript函数“addNewCreditCard”上调用,则表单本身。因为在commandButton中首先调用操作,然后调用oncomplete,所以我希望orderId getter在加载时具有值。但不知怎的,表单在调用操作之前就被加载了