0
var inputs = document.getElementsByTagName("input");


for (var i = 0; i < inputs.length; i++)
{
    if (document.getElementById("value_[0-9]"))
    {
        alert('found: ' + inputs[i].value);
    }
    else
    {
        alert(inputs[i].value);
    }
}

条件を使用して、 value_で始まる入力 ID のみを取得しています

if (document.getElementById("value_[0-9]"))

しかし、フォームに 5 つ以上の ID がある場合は何も当てはまりません。つまり、value_1、value_2、value_3 など。

4

3 に答える 3

5

そのために間違った方法を使用します。idリスト内の特定の要素のプロパティを確認するだけです。

for (var i = 0, len = inputs.length; i < len; i++) {
    if (inputs[i].id.indexOf("value_") === 0) {
        // alert("Found: " + inputs[i].value);
    }
}
于 2013-02-14T13:53:52.693 に答える
1

と組み合わせdocument.querySelectorAll配列Array.prototype.sliceにする

Array.prototype.slice.call(document.querySelectorAll('input[id^="value_"]'));

ここから、お気に入りのループを実行できます。Array.prototype.forEach

于 2013-02-14T13:56:42.470 に答える
1
[].map.call(document.getElementsByTagName( 'input' ), function( input ) {
    return input.id.indexOf( 'value_' ) === 0;
}).forEach(function( input ) {
    // do whatever here
});
于 2013-02-14T13:55:36.740 に答える