FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: ulli am 13 Januar 2018, 20:13:02

Titel: Input Widget - Value auslesen über JS
Beitrag von: ulli am 13 Januar 2018, 20:13:02
Ich versuche verzweifelt den vom User eingetragenen Wert über JS auszulesen aber es klappt nicht.

<script type="text/javascript">
function scan()
{
      var a=document.getElementById("sendValue");
      ftui.setFhemStatus('set var_docArchiv_device ascan ' + a.value );
}
</script>
.....
<div class="notransmit" data-type="input" data-device="BU_DocArchiv"
id="sendValue" data-get="lastName"
onfocus="this.select()"
></div>
   

Leider gibt a.value immer ein undefined zurück....was mach ich falsch?

Ps: das onfocus funktioniert aus irgend einem Grund auch nicht..??
Titel: Antw:Input Widget - Value auslesen über JS
Beitrag von: setstate am 13 Januar 2018, 23:48:18
die ID "sendValue" hat das Widget, nicht die Input-Box. Die ist ein Child vom Widget.

So bekommt man den Wert mit pure JS:


var value = document.getElementById("sendValue").children[0].value


oder so


var value = document.querySelector("#sendValue input").value


oder mit jQuery


var value = $('#sendValue input').val();


Titel: Antw:Input Widget - Value auslesen über JS
Beitrag von: ulli am 14 Januar 2018, 11:49:03
Perfekt besten Dank. Hab die letzte Möglichkeit gewählt ;)
Titel: Antw:Input Widget - Value auslesen über JS
Beitrag von: ulli am 18 Januar 2018, 21:19:21
Ein Problem hab ich noch.
Ich würde gerne, wenn man in das Inputfeld clickt, das der Text markiert wird.
onfocus="this.select()"
funktioniert vermutlich aus dem selben Grund nicht.

Hast du dazu noch eine Idee?
Titel: Antw:Input Widget - Value auslesen über JS
Beitrag von: setstate am 18 Januar 2018, 21:44:21
Das Inputwidget kennt jetzt class="autoselect"
Titel: Antw:Input Widget - Value auslesen über JS
Beitrag von: ulli am 18 Januar 2018, 22:40:24
Hab gerade gesehen es gibt auch ein autoclear....funktioniert aber leider nicht
Titel: Antw:Input Widget - Value auslesen über JS
Beitrag von: setstate am 19 Januar 2018, 09:19:31
 :o

Zeig mal den Code
Titel: Antw:Input Widget - Value auslesen über JS
Beitrag von: ulli am 19 Januar 2018, 18:06:22
   <div class="notransmit autoclear" style="padding-left: 77px;" data-type="input" data-device="BU_DocArchiv"
                  id="sendValue" data-get="lastName"

         ></div>      
Titel: Antw:Input Widget - Value auslesen über JS
Beitrag von: ulli am 20 Januar 2018, 13:49:08
Müsste doch so stimmen oder?
Titel: Antw:Input Widget - Value auslesen über JS
Beitrag von: setstate am 20 Januar 2018, 13:59:49
Das Löschen erfolgt beim Enter-drücken. Nicht wenn man auf einen externen Button klickt. Solch eine Funktion müsste im Button eingebaut sein.
Titel: Antw:Input Widget - Value auslesen über JS
Beitrag von: ulli am 20 Januar 2018, 15:05:50
Achso, die Idee war das sich das Textfeld leert wenn ich rein Klicke.
Möchte nicht immer den Text löschen bevor ich was neues rein Schreibe.
Es sollte aber der Text stehen bleiben wenn er eingetragen wurde.

Geht das auch irgendwie?
Titel: Antw:Input Widget - Value auslesen über JS
Beitrag von: setstate am 20 Januar 2018, 15:31:10
autoclear raus und autoselect rein. Dann wird beim Reinklicken alles markiert und beim Schreiben damit alles überschrieben.
Titel: Antw:Input Widget - Value auslesen über JS
Beitrag von: ulli am 21 Januar 2018, 10:58:46
Funktioniert, Danke!