実装したいこと
<input>タグ内の値が書き換えられたら、背景色を黄色にハイライトし、入力した箇所以外をdisabledにし書き換えられないようにしたいのですが、意図するように動きません。
(現在は全てdisabledになってしまします)
関数disabled内の、if文なのかではないかとは感じておりますが書き方がわからず困っております。
大変初歩的な質問ですが、ご教授いただけると嬉しく思います。
よろしくお願いします。
html
1<form id="form"> 2 <input name="input_text" type="text" value="hoge"/> 3 <input name="input_text" type="text" value="hogehoge" /> 4 <input name="input_text" type="text" value="hogehogehoge" /> 5 <input name="input_text" type="text" value="hogehogehogehoge" /> 6</form> 7 8<script> 9 var elements = document.getElementsByName("input_text"); 10 var input_tags = document.getElementById("form").getElementsByTagName("input"); 11 elements.forEach(function(v){ 12 v.addEventListener("input", bgColor); 13 v.addEventListener("change", disabled); 14 }); 15 16 17 function bgColor() { 18 this.style.backgroundColor = "yellow"; 19 } 20 21 22 function disabled() { 23// ココが怪しい・・・? 24 if (elements == this.value) { 25 for (var i = 0; i < input_tags.length; i++) { 26 input_tags[i].disabled = true; 27 } 28 } else { 29 this.disabled = false; 30 } 31 } 32</script>
回答1件
あなたの回答
tips
プレビュー