2013-05-31 87 views
0

如果我有這樣的HTML文檔:玩框架:javascripts在scala代碼中?

<p onclick="hiho('@name')"> clicky </p> 


<script> 
    function hiho(namevar){ 
     var1 = @Names.find.where().eq("name", namevar).findUnique(); 
     if(var1 != null){ 
      alert("HIHO"); 
     } 
    } 
</script> 

如何使用JavaScript變量?

Play不會正確編譯,因爲裏面

var1 = @Names.find.where().eq("name", namevar).findUnique(); 

無法找到namevar的價值。

+2

你不能那樣做。 Scala代碼在服務器上執行,Javascript核心在客戶端運行。 – Carsten

回答

2

一個,很簡單,解決方案可能是:

<p onclick="hiho('@name')"> clicky </p> 

<script> 
    var map = { 
     '@name': '@Names.find.where().eq("name", name).findUnique()' 
    }; 

    function hiho(namevar){ 
     var value = map[namevar]; 
     if(value != null){ 
      alert("HIHO: " + value); 
     } 
    } 
</script> 

假設名義變量都是字符串。

2

您可能想要將AJAX請求發送回服務器。 This page討論了有關底層的一些問題,以及您需要的路由代碼。