从 javascript 控制 primefaces 对话框
Controlling primefaces dialog from javascript
我尝试在 bean 验证失败时从 java 脚本控制 primefaces 显示和隐藏,但它不起作用。按照论坛里的建议试过
在 java 脚本中使用组件的 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>
从 PrimeFaces 5.0 开始,您必须使用 PF
函数调用任何组件(即 PF('widgtVar')
而不是 4.0 中已弃用的 widgetVar
)。来源 here.
将 mglasspane.hide();
替换为 PF('mglasspane').hide();
应该可行。
有关 PF
函数的更多信息 here
我尝试在 bean 验证失败时从 java 脚本控制 primefaces 显示和隐藏,但它不起作用。按照论坛里的建议试过 在 java 脚本中使用组件的 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>
从 PrimeFaces 5.0 开始,您必须使用 PF
函数调用任何组件(即 PF('widgtVar')
而不是 4.0 中已弃用的 widgetVar
)。来源 here.
将 mglasspane.hide();
替换为 PF('mglasspane').hide();
应该可行。
有关 PF
函数的更多信息 here