我在我的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的...... –