从javascript控制primefaces对话框

时间:2015-06-29 05:35:49

标签: javascript jsf jsf-2 primefaces

我尝试控制primefaces显示show并隐藏java脚本上的bean验证失败,但它不起作用。正如论坛所建议的那样 使用javascript中组件的widgetVar名称,甚至尝试使用组件的id但失败了。

XHTML

<p:dialog header="Modal Dialog" id="mglasspaneid" showHeader="false" closable="true" resizable="false" draggable="false" widgetVar="mglasspane" style="height: 50px !important;" modal="true">
        <span id="loading" draggable="false" style="height: auto !important;">Loading</span>
</p:dialog>

的Javascript

<script>
        function handleComplete(data) {
            if (data.status === 'success') { 

               console.log(document.getElementById('validation-failed').value);
               mglasspane.hide();

            }else{
                console.log(document.getElementById('validation-failed').value);
                mglasspane.show();
            }                
        }
</script>

1 个答案:

答案 0 :(得分:2)

从PrimeFaces 5.0开始,您必须使用PF函数调用任何组件(即PF('widgtVar')而不是widgetVar,这已在4.0中弃用。来源here

mglasspane.hide();替换PF('mglasspane').hide();应该有效。

有关PF函数here

的更多信息