在scala js中按下按钮时从网页获取数据

时间:2016-11-10 06:45:17

标签: scala.js

我想从一些文本框中获取数据,我在scala js的网页上有一个表格。我尝试过使用HTML'`onclick事件,如:

<button id="submit" type="button" onclick="TutorialApp().fun()">Submit</button>

我在TutorialApp对象中创建了一个函数,如:

object TutorialApp extends JSApp {

@JSExport
def main(): Unit = {
   ..... 
}

def fun():Unit = {
 println("Button is clicked")
}    

但它显示错误,TutorialApp()。fun()不是一个函数。我的代码出了什么问题?

2 个答案:

答案 0 :(得分:4)

作为替代方案,您可能希望在代码中注册onclick处理程序:

import org.scalajs.dom

def main(): Unit = {
  dom.document.getElementById("submit").addEventListener("click", fun _)
}

优点是您不需要导出fun并且您获得编译时名称安全性(即,如果您重命名fun,编译器将告诉您是否忘记将其重命名为某处)。

答案 1 :(得分:2)

它通过在fun()之前添加@JSExport来工作。我没有注意到这一点。