我有 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="    Attachments     ">
</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;
}
答案 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()从脚本中调用它。
表格不应该与验证混淆,因为它没有任何内容。
如上所述,这个想法完全没有经过考验。