Datetime-Feld: Event nach Verändern des Wertes

  • Hallo,


    ich habe in meinem Formular ein kleines Zeitfeld eingebaut:


    HTML
    <input type="datetime" id="myTime" name="myTime" value="{$myTime}"/>


    Beim Eintragen bzw Verändern des Datums in diesem Feld, soll ein Event ausgelöst werden. Damit habe ich gerade leider etwas Schwierigkeiten.


    Ich weiß, dass jedes datetime-Feld vom WSC etwas bearbeitet wird, so dass auch ein dazugehöriges DatePicker-Element erzeugt wird. Ich habe nun versucht, jeweils bei beidem Felder auf das change-Event reagieren zu lassen, also sprich:



    JavaScript
    // time field
    this.myTime = elById('myTime');
    this.myTime.addEventListener('change', this.myEvent.bind(this));
    
    // time picker field
    this.myTimeDatePicker = elById('myTimeDatePicker');
    this.myTimeDatePicker.addEventListener('change', this.myEvent.bind(this));


    Leider wird in beiden Fällen keine Reaktion ausgelöst. Auch, wenn ich auf ein input-Event überprüfe, passiert leider nichts.


    Könnt ihr mir auf die Sprünge helfen, wie ich überprüfen kann, ob ein neues Datum eingetragen wurde? :)


    Viele Grüße


    Joe

  • Lösung:


    JavaScript
    require(['WoltLabSuite/Core/Date/Picker'], function(DatePicker) {        
            var el = document.getElementById('startDate');
            DatePicker.setCloseCallback(el, function() {
                console.log(DatePicker.getValue(el));
            });
    });