1

以下のコードで私が行おうとしているのは、検索入力が配列要素のいずれかに一致するとアラートがポップアップする検索フォームを作成することです。現時点では機能しません。問題は、ifステートメントの最初の行にロジックを書き出す方法がわからないことだと思います。

<form>
<input type="text" id="formInput"></input>
<input type = "button" id="search"></input>

</form>


<script>


var search = document.getElementById("search");
var formInput = document.getElementById("formInput").value;

var data = ["yay"];

search.onclick = function(){

for (i=0; i<data.length; i++){

    if (data[i] === formInput) {
      alert(data[i]);
    }   
      else{ alert("not working yet");   }
}
};



</script>
4

1 に答える 1

1

入力を取得した行をonclick関数に移動します。

<form>
 <input type="text" id="formInput"></input>
 <input type="button" id="search"></input>
</form>
<script>
 var search = document.getElementById("search");
 var data = ["yay"];

 search.onclick = function() {
    var formInput = document.getElementById("formInput").value;

    for (i=0; i<data.length; i++){
       if (data[i] == formInput) {
          alert(data[i]);
       } else {
          alert("not working yet");
       }
    }
 };
</script>

現在、ページが読み込まれるとき(ユーザーが何かを入力する前に)、フォーム入力を1回だけ読み取っています。その行をonclick関数内に配置すると、配列を検索する直前に入力をチェックします。

于 2012-10-04T19:59:21.383 に答える