zehbaeh: Wie lässt sich onTextChanged realisieren??

Beitrag lesen

Was willst du da submitten? Das Formular, in das der Anwender gerade eintippt? Das ist kontraproduktiv. Aber <input onchange=...> gibt es schon ewig und im Hintergrund Requests absetzen geht mit Ajax.

Das Problem ist, dass während der Eingabe der Wert umgewandelt werden soll.

Du suchst wahrscheinlich sowas:

  
function enableInputChangeAfterKeyup(element) {  
    function trigger() {  
        var event;  
        this.timeout = false;  
        if (this.element.value !== this.value) {  
            event = document.createEvent('HTMLEvents');  
            event.initEvent('change', false, true);  
            this.element.dispatchEvent(event);  
            this.value = this.element.value;  
        }  
    }  
    function keyup() {  
        this.timeout && window.clearTimeout(this.timeout);  
        this.timeout = window.setTimeout(trigger.bind(this), this.delay);  
    };  
    if (typeof element === 'string') {  
        element = document.getElementById(element);  
    }  
    element.addEventListener('keyup', keyup.bind({  
        element  : element,  
        value    : element.value,  
        delay    : Math.max(100, Math.min(750, enableInputChangeAfterKeyup.delay)),  
        timeout  : false  
    }), false);  
}  
// Verzögerung in Millisekunden bevor der change Event getriggert wird  
enableInputChangeAfterKeyup.delay = 250;  
  
// Beispiel: Verhalten für input[text] element mit id "search" aktivieren  
enableInputChangeAfterKeyup('search');