Verwenden Sie JavaScript, um die Textfarbe in (CSS) eines Eingabefelds (HTML) basierend auf dem Eingabewert anzupassen
P粉022140576
P粉022140576 2023-09-03 09:53:55
0
1
608
<p>Ich habe einen Code, der 10 Eingabewerte (Ganzzahlen und Gleitkommazahlen) vom Benutzer erhält: </p> <pre class="brush:php;toolbar:false;">var in1 = parseInt(document.getElementById("in1").value); var in2 = parseInt(document.getElementById("in2").value); var in3 = parseFloat(document.getElementById("in3").value); var in4 = parseFloat(document.getElementById("in4").value); var in5 = parseInt(document.getElementById("in5").value); var in6 = parseInt(document.getElementById("in6").value); var in7 = parseInt(document.getElementById("in7").value); var in8 = parseFloat(document.getElementById("in8").value); var in9 = parseFloat(document.getElementById("in9").value); var in10 = parseInt(document.getElementById("in10").value);</pre> <p>Dann füge ich alle Eingaben in ein Array ein, um die Arbeit mit ihnen zu erleichtern: </p> <pre class="brush:php;toolbar:false;">var arr = [in1, in2, in3, in4, in5, in6, in7, in8, in9, in10];</pre> <p>Die Idee besteht darin, das CSS des HTML-Containers anzupassen, indem die Werte durchlaufen werden, und den spezifischen Container anzupassen, dessen Wert gleich 0 ist. </p> <pre class="brush:php;toolbar:false;">for (let i = 0; i < arr.length; i++) { if (arr[i] === 0) { document.getElementById(**Container des entsprechenden arr[i]-Wertes**).style.color = "red"; } anders { document.getElementById(**Container des entsprechenden arr[i]-Wertes**).style.color = "black"; } }</pre> <p>Wie löse ich nun dieses Problem? </p> <p>Wenn ich nur einen Container verwende, sagen wir <code>in1</code>, kann ich den Code ausführen, wenn ich also <code>("in1")</code> einfüge < ;/ p> <pre class="brush:php;toolbar:false;">(**Container des entsprechenden arr[i]-Wertes**)</pre></p>
P粉022140576
P粉022140576

Antworte allen(1)
P粉391677921

您可以按类选择所有输入,然后迭代它们。在按键或更改时添加事件侦听器。在事件回调中,您可以根据要检查的条件更改颜色。在此示例中,输入中的文本根据值的长度改变颜色。

const inputs = document.getElementsByClassName("colorInput")

for (let i = 0; i < inputs.length; i++) {
  inputs[i].addEventListener (
    "keyup",
    (event) => {
      event.target.style.color = event.target.value.length > 10 ? "red" : "green"
    }
  )
}
<input type="text" class="colorInput">
<input type="text" class="colorInput">
<input type="text" class="colorInput">
<input type="text" class="colorInput">
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage