2013-05-31 56 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讨论了有关底层的一些问题,以及您需要的路由代码。