Ich habe ein Textfeld in meiner HTML-Datei und ich möchte erkennen, wann auch immer ein Benutzer den Wert ändert und den aktualisierten Wert auch bestimmen. HTML-Code für Textfeld:Verfolgen von Änderungen in Textfeld in scala js
<input type="text" name="amount" id="amount" value="0" onchange="Demo().change(id,value)">
und in meiner scala-Datei, habe ich eine Funktion 'Änderung' implementiert, wie:
@JSExport
def change(id:String):Unit={
appendPar(document.body,"Text Box value is changed and the new value is : "+document.getElementById(id).getAttribute("value"))
}
Aber es funktioniert nicht in meinem Fall. Was mache ich hier falsch? Irgendwelche Vorschläge?
UPDATE: Es feuert das Ereignis nur, wenn ich Enter nach dem Ändern des Werts in Textfeld drücken. Außerdem zeigt es den aktualisierten Wert als "0" an. Wie kann ich es aus dem Textfeld holen anstatt meinen vordefinierten Wert?
Ein allgemeiner Kommentar: Dies und ziemlich viele Fragen darüber, wie diese HTML-Entitäten arbeiten, sind nicht wirklich Scala.js Fragen, sie sind HTML/DOM/JavaScript Fragen. Denken Sie daran, dass Scala.js einfach ein Compiler für JavaScript ist - es geht um die * Sprache * und die Funktionalität ist nur eine gewöhnliche Browser-Funktionalität - und im Durchschnitt konzentriert sich die Scala.js-Community nicht auf die DOM-Funktionalität. Ich vermute also, dass Sie wahrscheinlich schnellere Antworten erhalten werden, wenn Sie auch "html5" und/oder "dom" -Tags angeben ... –
Zu der Frage - ich würde nur erwarten, dass es das Ereignis auslöst, nachdem Sie Enter drücken, da [das ist, was die Dokumentation anzeigt] (https://developer.mozilla.org/en-US/docs/Web/Events /Veränderung). Wann möchten Sie dieses Signal bekommen, wenn nicht, wenn Sie Enter drücken? –
Und sind Sie sicher, dass Sie die richtige ID in Ihre Funktion bekommen? Ich gestehe, ich bin ein wenig überrascht, dass der HTML-Code, den du zeigst, tatsächlich funktioniert - ich weiß nicht, wie das eigentlich die richtige ID erfasst ... –