2017-07-07 8 views
0

私はフォーム上で作業しています。リセットを使わずに行を個別にリセットしたいと思います。 ループを使用してjavaScriptでgetElementByIdメソッドのパラメータとして渡される属性の値を変更する方法はありますか?ここ は、以下の私のソースコードの例である:それはそうではないのですが、あなたはのIDを知っていればループ内でgetElementByIdのパラメータを変更する方法

for (var i = 1; i <= 3; i++) { 
    document.getElementById("id" + i).value = ""; 
} 

:あなたのIDを仮定し

<script> 
     var element = document.getElementById('#re'); 
    element.addEventListener('click', function() { 
     document.getElementById("#id1").value = ""; 
     document.getElementById("#id2").value = ""; 
     document.getElementById("#id3").value = ""; 
    }); 
     </script> 
+0

for(var i = 1; i <4; i ++){document.getElementById( "id" + i).value = "";} – Danmoreng

答えて

0

はあなたの例のような形式を持っていますあなたは、アレイ内のすべてのIDを入れて、それを使用することができますすべての要素:

var elementIds = ["id1", "id2", "id3"]; 
elementIds.forEach(function(id) { 
    document.getElementById(id).value = ""; 
}); 

別の解決策は、あなたが特定のクラスをリセットしたいすべての要素を与えるとその標的とすることである:、IDを使用しての

var elements = document.getElementsByClassName("resetable-element"); 
[].slice.call(elements).forEach(function(element) { 
    element.value = ""; 
}); 
1

を代わりにすることができます例えば、あなたの入力をループ:

var inputs = document.querySelectorAll("input"); 
for (var i = 0; i < inputs.length; i++) { 
    inputs[i].value = ""; 
} 
0

あなたの簡単なたとえば、値1をループでき - 3(私はIDで#はタイプミスであると仮定?):

クラス名などの要素で要素を識別できる場合は、その要素を繰り返し処理することをお勧めします。

var elements = document.querySelectorAll('.field'); 
Array.prototype.slice.call(elements).forEach(function(element) { 
    element.value = ''; 
}); 
関連する問題