0

HTMLフォーム入力でループを実行して、値を確認しています。chrome-extension 経由でアクセスするすべてのページでこれを行っています。一部のページは非常にうまく機能しますが、他のページではエラーが発生し続けます

TypeError: 未定義のプロパティ '0' を読み取れません

このエラーが常に発生する行は次のとおりです。

var FieldValue = details.requestBody.formData[ReceivedInputs[aux]][0];

ReceivedInputs は、ページにあるすべてのフォーム入力の名前を持つ 1 つの配列です。そして、次のようにしてエラーを回避しようとしました:

if (未定義 != ReceivedInputs[aux])

値を取得するループは次のとおりです。

for(var aux=0;aux<ReceivedInputs.length;aux++)
    {
        if (undefined != ReceivedInputs[aux])
            {
                var FieldValue = details.requestBody.formData[ReceivedInputs[aux]][0];
                alert(FieldValue);
            }
    }   

とにかく、変数が未定義でないかどうかを正常に確認するには? 私は試した

if (typeof ReceivedInputs[aux] != '未定義')

それも。その他のいくつかの提案ですが、エラーが発生し続けます...

4

1 に答える 1

0

以下を確認する必要があります。

if (ReceivedInputs[aux] && details.requestBody.formData[ReceivedInputs[aux]]) {
   var FieldValue = details.requestBody.formData[ReceivedInputs[aux]][0];
   ...

value fromは配列ReceivedInputs[aux]へのインデックスとして使用されるためです。details.requestBody.formData

于 2013-10-11T21:04:24.687 に答える