私はhtmlファイルにテキストボックスを持っており、ユーザーがその値を変更してその更新値も決定するたびに検出したいと考えています。テキストボックスのHTMLコードは次のとおりです。scala jsのテキストボックスの変更を追跡する
<input type="text" name="amount" id="amount" value="0" onchange="Demo().change(id,value)">
と私のScalaのファイルで、私のように関数「変更」を実装しました:
@JSExport
def change(id:String):Unit={
appendPar(document.body,"Text Box value is changed and the new value is : "+document.getElementById(id).getAttribute("value"))
}
しかし、それは私の場合には機能していません。私はここで間違って何をしていますか? 提案がありますか?
UPDATE:テキストボックスの値を変更した後にEnterキーを押したときだけイベントを発生させます。さらに、更新された値を「0」として表示している。私はそれを私の定義済みの値の代わりにテキストボックスから取得させることができますか?
一般的なコメント:これは、これらのHTMLエンティティの仕組みに関する疑問や、Scala.jsの質問ではなく、HTML/DOM/JavaScriptの質問です。 Scala.jsは単にJavaScript上のコンパイラであることを覚えておいてください。これは*言語*に関するもので、機能は普通のブラウザ機能です。平均してScala.jsコミュニティはDOM機能に焦点を当てていません。だから、もしあなたが "html5"や "dom"タグを含んでいれば、もっと速い答えを得られるだろうと思う。 –
手元にある質問には、Enterを押した後でイベントを発生させることしか期待していません。[これはドキュメントに記載されている](https://developer.mozilla.org/en-US/docs/Web/Events /変化する)。いつあなたがこの信号を得たいのですか?そうでない場合はEnterを押しますか? –
あなたの関数に正しい 'id 'が渡されていると確信していますか?私は告白します、あなたが実際に見せているHTMLが実際に動作するのはちょっと驚いています - 実際に正しいIDを取り込む方法がわかりません... –