2015-06-29 37 views
0

我嘗試控制primefaces顯示和隱藏Java驗證失敗的Java腳本,但它不工作。正如在論壇中建議嘗試使用widget的widgetVar名稱 ,甚至嘗試使用組件的id,但失敗。從javascript控制primefaces對話框

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> 
+0

任何JavaScript錯誤


的更多信息?什麼PF版本? – Kukeltje

+0

@Kukeltje Primefaces 5.2,錯誤:ReferenceError:mglasspane沒有定義 – Jeevanantham

+0

[在HTML中獲取primefaces widgetVar並更新它]可能的副本(http://stackoverflow.com/questions/28609536/get-primefaces-widgetvar-in-javascript -and-更新它) – Kukeltje

回答

2

從PrimeFaces 5.0則必須調用與PF功能的任何組件(IE的PF('widgtVar')代替widgetVar這已經在4.0棄用) 。來源here

替換mglasspane.hide();通過PF('mglasspane').hide();應該工作。關於PF功能here