Javascript JS调用后未执行操作

Javascript JS调用后未执行操作,javascript,jsf,action,Javascript,Jsf,Action,我正在使用JSF,我无法在JavaScript(JS)执行后进行操作调用。 如果没有JS,操作将按预期执行。 需要什么:禁用命令按钮,直到执行操作(提交)。 下面是我正在使用的参考代码 <h:commandButton id = "search" value="Submit" action="#{ManagedBean.retrieve}" onclick="return buttonDisable();" /> <script type="te

我正在使用JSF,我无法在JavaScript(JS)执行后进行操作调用。 如果没有JS,操作将按预期执行。 需要什么:禁用命令按钮,直到执行操作(提交)。 下面是我正在使用的参考代码

<h:commandButton id = "search" value="Submit" action="#{ManagedBean.retrieve}"           
    onclick="return buttonDisable();" />

<script type="text/javascript">
        function buttonDisable() {
            document.getElementById('editForm:search').click();
            document.getElementById('editForm:search').disabled = true;
            document.getElementById('editForm:search').style.backgroundColor="#cccccc";
            return true;
        }
</script>

函数buttonDisable(){
document.getElementById('editForm:search')。单击();
document.getElementById('editForm:search')。disabled=true;
document.getElementById('editForm:search').style.backgroundColor=“#cccc”;
返回true;
}
尝试了许多方法,但尚未找到解决方案。 非常感谢您的建议。

如果您将“document.getElementById('editForm:search').disabled=true;”更改为disabled=false,是否有效


这样,点击后它就不会被禁用。

相关:谢谢你的建议,贾斯汀。实际上,要求是在操作完成之前应禁用按钮。对不起,如果我之前不清楚的话。@Amulya这不是问题所在。。。你试过。。。如果是的话,你有更多关于问题原因的信息。请尝试…@Kukeltje,我已经尝试了disabled=false,但是现在按钮看起来好像被禁用了,但是我仍然可以执行submit。我遗漏了什么吗?亲爱的,我用下面的函数在JS中设置超时。这将允许在禁用按钮之前执行操作。下面的解决方案对我有效。函数buttonDisable(){document.getElementById('editForm:search')。单击();设置超时(函数(){document.getElementById('editForm:search')。禁用=true;},1000);document.getElementById('editForm:search')。style.backgroundColor=“#cccc”返回true;}