2012-12-13 93 views
10

在ZK框架中,我想在zul文件中調用javascript函數,但它不會發生。如何在ZK中調用javascript函數

<a label="Click" onClick="popUp();"> 

我也有popUp()函數。但是,當我點擊

<script type="text/javascript"> 
    function createPopUp(url) 
    { 
     var w = 600; 
     var h = 500; 
     var left = (screen.width/2)-(w/2); 
     var top = (screen.height/2)-(h/2); 
     window.open(url,'name','scrollbars=yes,width='+w+', height='+h+', top='+top+', left='+left); 
    } 
</script> 

但是當我點擊該鏈接就可以了dispalys以下錯誤:

Sourced file: inline evaluation of: `` popUp();'' : 
Command not found: popUp() : at Line: 13 : 
in file: inline evaluation of: `` popUp();'' : popUp () 

回答

1

作爲替代,如果你想在java中實現這個功能,而不是.zul文件,你可以使用

label.setWidgetListener(Events.ON_CLICK, "popUp();"); 

指示herejavadoc

7

爲了解決這個問題,我發現下面的方法:

<a label="Click" xmlns:w="http://www.zkoss.org/2005/zk/client" w:onClick="createPopUp('http://www.facebook.com/prabhatsubedi');"/> 
+4

順便說一句,你可以使用快捷鍵,比如'的xmlns:= w的「客戶」,而不是'完整的URL – kachhalimbu

+0

@kachhalimbu是可以做的... thanx的建議 –

+0

順便說一句,你問問題,回答,接受,謝謝你,並回復你的感謝。你的問題比JavaScript更大我認爲:) – asyard