提交调用后的JSF提交按钮javascript函数
问题描述:
我在我的jsf页面(一个弹出窗口)中有一个表单,用于上传文件。当文件上传时,我需要刷新父页面。什么是我可以用来完成这项任务的最佳方法。提交调用后的JSF提交按钮javascript函数
我的JSF页面很简单,看起来像这样
<h:form id="uploadForm" enctype="multipart/form-data">
<ul class="page">
<li>
<h:messages layout="list" for="uploadForm" styleClass="generic-message"/>
</li>
<li>
<h:outputLabel for="file" value="select a file" />
<t:inputFileUpload id="file" value="#{aBean.file}" required="true" requiredMessage="File need to be selected"/>
<h:message for="file" styleClass="msg" />
</li>
<li>
<h:outputLabel value="Name" />
<h:inputText id="name" value="#{aBean.name}" label="#{aBean.name}" required="true" requiredMessage="Name is required"/>
<h:message for="name" styleClass="msg" />
</li>
<li>
<h:commandButton value="Upload" action="#{aBean.submit}" />
</li>
</ul>
</h:form>
任何建议高度赞赏
答
在弹出窗口中,你需要有条件地呈现
<script>window.opener.location.reload(true);</script>
这样父窗口将被刷新。
您可以通过在操作方法
private boolean reloadParent;
public void submit() {
// ...
reloadParent = true;
}
public boolean isReloadParent() {
return reloadParent;
}
触发一些布尔和包装在<ui:fragment>
脚本与rendered
属性
<ui:fragment rendered="#{aBean.reloadParent}">
<script>window.opener.location.reload(true);</script>
</ui:fragment>
感谢名单balusc了及时的答复做.. 我加了我的JSF代码
我把这个代码块刚好在
但javascript函数没有被触发 有没有什么地方错误,我已经放置了我的 –
Sanath
2011-06-01 10:57:04
它需要放置在弹出页面。 – BalusC 2011-06-01 11:25:25
问题是我的弹出页面是另一个JSF页面。 – Sanath 2011-06-01 12:11:47