如何按类名填充输入元素

时间:2013-03-11 10:11:11

标签: javascript input getelementsbyclassname

我在尝试填充一些输入元素时遇到了一些麻烦。

我使用javascript。

我使用方法getElementsByClassName('name_of_class')来收集元素的节点。

然后我尝试使用循环遍历此节点,但是当我尝试用输入提示的相同值填充所有元素输入时,我没有成功。

事实上,当我尝试使用document.getElementByClassName('name_class').value时,我认为我错了,因为它不是一个独特的元素,但我真的没有想法,当我在循环中如何填充这些输入时,因为它们是动态创建的,而且没有Id。

这是我的代码

function saisie_titre(){
    choix = prompt("Veuillez saisir le titre :", '');
    var i;
    var checkboxList = document.getElementsByClassName( 'titre' );
    for ( i = 0; i < checkboxList.length; i++ ) {
        document.getElementsByClassName('titre').value = choix;
        //Here is the wrong part of my code

        console.log(choix);
    }
 }

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

获得checkboxList的引用后,只需将其作为数组访问。

var checkboxList = document.getElementsByClassName( 'titre' );
for ( i = 0; i < checkboxList.length; i++ ) {
    checkboxList[i].value = choix;

答案 1 :(得分:1)

JsFiddle的工作示例: http://jsfiddle.net/2UZXm/1/

- 示例HTML

<input type="text" class="titre"></input>
<input type="text" class="titre"></input>
<input type="text" class="titre"></input>
<input type="text" class="titre"></input>
<input type="button" id="terror" value="Click" />

- 示例JavaScript

function saisie_titre() {
    choix = prompt("Veuillez saisir le titre :", '');
    var i;
    var checkboxList = document.getElementsByClassName('titre');
    for (i = 0; i < checkboxList.length; i++) {
        checkboxList[i].value = choix;
        console.log(choix);
    }
}
document.getElementById('terror').onclick = function () {
    saisie_titre();
}

答案 2 :(得分:1)

您需要将索引传递给数组。您已将数组存储在变量中,因此无需再次获取元素。

for ( i = 0; i < checkboxList.length; i++ ) {
    checkboxList[i].value = choix;
    console.log(choix);
}