2015-04-27 94 views
0

我有一個jsf文件,它不包含表格。在那個jsf文件中,我有一個標籤和一個叫做onlableclick的函數,沒有參數。該函數向用戶確認他是否想要以前的附件並將其存儲在jsf文件中的隱藏變量中。我需要在相應的bean中更改此變量的值,但它將採用默認值。JSF提交不是表格

如何提交這個不是表單的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; 
    } 
+3

只需添加一個表格即可。 – BalusC

+0

分享你的代碼更有可能幫助其他人回答你的問題。 – Filype

+0

問題是我不能在這裏添加表單..它的10年老proj ..如果我添加一個表單,將有驗證問題.. – vimalkumar

回答

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()從腳本調用它。

表單不應該與驗證混亂,因爲它沒有任何內容。

如前所述,構思完全沒有經過測試。