【发布时间】:2015-04-20 02:45:09
【问题描述】:
我有 JSF 页面,我想创建保存和关闭按钮,但如果用户没有输入所有必填字段来保存。 所以这将完全符合我的要求,但不会关闭窗口。
<h:commandLink action="#{projectsControllerCreate.create}"
value="#{bundle.CreateProjectsSaveLink}" />
无论输入什么,这都会关闭窗口。
<p:commandButton action="#{projectsControllerCreate.create}"
value="#{bundle.CreateProjectsSaveLink}"
onclick="window.close()"/>
并且我已经在按钮上添加了 JS Exit() 但它不起作用?
function Exit() {
var x = #{projectsControllerCreate.selected.projectName.length()
}
if (x > 0) {
window.close();
}
}
<p:commandButton action="#{projectsControllerCreate.create}"
value="#{bundle.CreateProjectsSaveLink}"
onclick="Exit()" />
如果一切正常,我可以检查创建然后发送window.close(); 命令吗?
public String create() {
try {
getFacade().create(current);
JsfUtil.addSuccessMessage(ResourceBundle.getBundle("/Bundle").getString("ProjectsCreated"));
return prepareCreate();
} catch (Exception e) {
JsfUtil.addErrorMessage(e, ResourceBundle.getBundle("/Bundle").getString("PersistenceErrorOccured"));
return null;
}
}
【问题讨论】:
-
这可能与将标记渲染到浏览器的时间与支持 bean 中的值有关。您应该在服务器端执行评估
标签: javascript jsf primefaces