我在我的html文件中有一个文本框,并且我想要在用户更改其值并确定其更新值时检测。文本框HTML代码:在scala js中跟踪文本框中的更改
<input type="text" name="amount" id="amount" value="0" onchange="Demo().change(id,value)">
,在我的斯卡拉文件,我已经实现了一个功能“变”为:
@JSExport
def change(id:String):Unit={
appendPar(document.body,"Text Box value is changed and the new value is : "+document.getElementById(id).getAttribute("value"))
}
但它不是我的情况下工作。我在这里做错了什么? 有什么建议吗?
更新:只有在更改文本框中的值后按Enter键时才会触发事件。此外,它将更新值显示为“0”。我怎样才能让它从文本框取代我的预定义值?
一般性评论:关于这些HTML实体如何工作的问题以及几乎任何问题都不是真正的Scala.js问题,它们是HTML/DOM/JavaScript问题。请记住,Scala.js只是JavaScript上的一个编译器 - 关于* language *,功能仅仅是普通的浏览器功能 - 平均而言,Scala.js社区并不关注DOM功能。所以我怀疑如果包含“html5”和/或“dom”标签,您可能会得到更快的答案...... –
对于手头的问题 - 我只希望它在按下回车键之后触发事件,因为[这是文档指出的内容](https://developer.mozilla.org/en-US/docs/Web/Events /更改)。你什么时候想要得到这个信号,如果不是当他们按下Enter键? –
你确定你正在将'id'传递给你的函数吗?我承认,我对你所展示的HTML实际上有效而感到有点惊讶 - 我不清楚它是如何捕获正确的ID的...... –