2016-07-11 5 views
0

zu klicken Ich arbeite an einer Website, wo ich ein Formular erstellen und mitAlles läuft gut, aber ich habe ein Problem.Ändern Sie die Farbe des Textfelds, wenn Sie es eingeben, anstatt auf

Wenn ein Benutzer ein Feld leer lässt und auf die Schaltfläche Senden klickt, zeigt das Formular einen Fehler an, ändert die Farbe des Textfelds und der Cursor wird automatisch auf dieses Feld ausgerichtet.

Ich möchte jedoch, dass, wenn der Benutzer beginnt, in das Feld eingeben, die Farbe des Feldes automatisch in den Standardzustand zurückkehrt. Ich möchte, dass diese Arbeit in JavaScript getan wird. Bitte hilf mir, ich bekomme dafür keine Logik.

Danke

+1

-Code bitte Kumpel? – MatejMecka

Antwort

1

Verwenden onkeydown() statt onclick() Ereignis.

0

können Dieser Code funktioniert:

This code may work: 

<textarea id="txtId" onkeydown="changeColor()"></textarea> 
<script> 
    function changeColor(){ 
    document.querySelector("#txtId").style.backgroundColor="defaultcoloryouwant"; 
    } 
</script> 
+0

Können wir es mit ID oder Name tun? Eigentlich bin ich neu in Javascript –

+0

http://www.w3schools.com/jquery/jquery_ref_selectors.asp – Gaetan

+0

Ja können Sie, wenn der Name Ihrer ID txtId ist, müssen Sie nur die 'Textarea' in document.querySelector ersetzen ("textarea") mit #txtId. I.e document.querySelector ("# txtId"); –

0

Sie es auf diese Weise tun können:

var textinput= document.getElementById("textinput"); 

textinput.onchange = function() { 

    if(textinput.value == "") 
    { 
     textinput.style.backgroundColor = "red"; 
    } 
    else 
    { 
     textinput.style.backgroundColor = "green"; 
    } 
}; 
+0

Dies funktioniert nur, wenn Enter gedrückt wird und wenn bereits Text vorhanden ist. nicht wenn alle Tasten gedrückt sind. – Gaetan

+0

Ja, es ist wahr. Es war nur eine Probe für den richtigen Weg. Danke, dass Sie es deutlich gemacht haben. – Luca

+0

vielleicht würde es mit onkeydown statt onchange funktionieren. – Gaetan

Verwandte Themen