Rumah  >  Soal Jawab  >  teks badan

Gunakan JavaScript untuk melaraskan warna teks dalam (CSS) medan input (HTML) berdasarkan nilai input

<p>Saya mempunyai sekeping kod yang mendapat 10 nilai input (integer dan terapung) daripada pengguna: </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>Kemudian saya meletakkan semua input ke dalam tatasusunan untuk menjadikannya lebih mudah untuk digunakan: </p> <pre class="brush:php;toolbar:false;">var arr = [in1, in2, in3, in4, in5, in6, in7, in8, in9, in10];</pre> <p>Ideanya ialah untuk melaraskan CSS bagi bekas HTML dengan mengulangi nilai dan melaraskan bekas tertentu yang nilainya sama dengan 0. </p> <pre class="brush:php;toolbar:false;">for (biar i = 0; i < arr.length; i++) { jika (arr[i] === 0) { document.getElementById(**bekas nilai arr[i] yang sepadan**).style.color = "merah"; } lain { document.getElementById(**bekas nilai arr[i] yang sepadan**).style.color = "hitam"; } }</pre> <p>Sekarang bagaimana saya hendak menyelesaikan masalah ini? </p> <p>Jika saya hanya menggunakan satu bekas, sebut <code>in1</code>, saya boleh mendapatkan kod untuk dijalankan, jadi jika saya meletakkan <code>("in1")</code> < ;/ p> <pre class="brush:php;toolbar:false;">(**bekas nilai arr[i] yang sepadan**)</pre></p>
P粉022140576P粉022140576412 hari yang lalu495

membalas semua(1)saya akan balas

  • P粉391677921

    P粉3916779212023-09-04 00:36:10

    Anda boleh memilih semua input mengikut kelas dan kemudian mengulanginya. Tambah pendengar acara pada kekunci tekan atau tukar. Dalam panggilan balik acara anda boleh menukar warna berdasarkan keadaan yang anda ingin semak. Dalam contoh ini, teks dalam input berubah warna berdasarkan panjang nilai.

    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">

    balas
    0
  • Batalbalas