【问题标题】:JSF submitting which is not a formJSF 提交不是表单
【发布时间】:2015-04-27 07:46:20
【问题描述】:

我有一个 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;
    }

【问题讨论】:

  • 分享您的代码更有可能帮助其他人回答您的问题。
  • 问题是我不能在这里添加表单。它是一个有 10 年历史的项目。如果我添加表单,验证会出现问题。
  • 然后更正验证...

标签: jsf-2


【解决方案1】:

我不运行 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() 从脚本中调用它。

表单不应该与验证混淆,因为其中没有任何内容。

如前所述,想法完全未经测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    相关资源
    最近更新 更多