【发布时间】:2014-04-26 11:39:59
【问题描述】:
我用的是HTML和JSF Primefaces,对于这部分系统,PrimeFaces没有启用(不知道为什么),问题是:
我有一个按钮
<h:commandButton id="btnPrint"
onclick = "switchDisabled();"
actionListener="#{componentTrackingController.printReport()}"
value="Print Report"
/>
onClick 它的执行和运行良好(它只是禁用了一些其他按钮) 但 actionListener 不是。事实是,当我删除“onClick”行时,actionsListener 工作正常。
我的 JavaScript 代码很简单(但我认为问题不在这里)
<script type="text/javascript">
function switchDisabled(){
askDisabled(document.getElementById('mainForm:cboURdependences'));
askDisabled(document.getElementById('mainForm:btnPrint'));
askDisabled(document.getElementById('mainForm:btnCloseReport'));
}
function askDisabled(elem){
if (elem.disabled != true){
elem.disabled = true;
}else{
elem.disabled = false;
}
}
</script>
【问题讨论】:
-
您在执行 onclick 时禁用了按钮,它在提交之前被调用,因此它无法提交/单击禁用的按钮。您可以为您的 ajaxListener 创建一个 ajax 挂钩到“onsuccess”,然后调用 switchDisabled()
-
它会在 loadingPage 自动加载报告
标签: javascript html jsf primefaces controller