JSF提交不是表格

时间:2015-04-27 07:46:21

标签: jsf-2

我有 jsf文件,其中不包含表单。在那个jsf文件中,我有一个标签和一个名为onlableclick的函数,没有参数。该功能向用户确认他是否想要先前的附件并将其存储在jsf文件中的隐藏变量中。我需要在相应的bean中更改要更改的变量值,但它采用默认值。

如何提交这个不是表单的jsf文件并获取bean变量中受影响的更改?如果你想看代码,请告诉我!

在jsf文件中:

<rich:tab styleClass="jsf-tab-panel  basicFormFullWidth" 
    action="#{CTDConcessionBean.getAttachScreen}"
    onlabelclick="**return fnCommonRadioCheckRevise();**" >  
    <f:facet name="label">
    <h:panelGroup>
    <h:graphicImage value="${contextPath}/img/tab_optional.gif" /><br/>                  
    <h:outputLabel 
    value="&#160;&#160;&#160;&#160;Attachments&#160;&#160;&#160;&#160;&#160;">     
    </h:outputLabel>
    </h:panelGroup>
    </f:facet>
    <ui:include src="/pages/concession/CTDConcessionAttachments.xhtml">     
    </ui:include>
    </rich:tab>

在javascript中:

 function fnCommonRadioCheckRevise()
    {
   var flag = true;

         if (confirm("Do you want to add the attachments") == true) {
             document.getElementById("strReviseAttachFlag").value='Y';


            flag= true;
            } else {
                 document.getElementById("strReviseAttachFlag").value='N';

                flag=true;
            }


    return flag;
    }

1 个答案:

答案 0 :(得分:0)

我没有运行Richfaces,但我认为这样的事情可能有效:

<h:form>
    <a4j:jsFunction
        name="settotrue"
        action="#{bean.setVar(true)}">
    </a4j:jsFunction>
    <a4j:jsFunction
        name="settofalse"
        action="#{bean.setVar(false)}">
    </a4j:jsFunction>
</h:form>

public void setVar(boolean var) {
 ....
}

使用settotrue()或settofalse()从脚本中调用它。

表格不应该与验证混淆,因为它没有任何内容。

如上所述,这个想法完全没有经过考验。