0

我在我的 html 表单输入中做一个循环来检查它的值。我在通过 chrome-extension 访问的每个页面中都这样做。有些页面效果很好,但其他页面,我不断收到错误

TypeError:无法读取未定义的属性“0”

我总是收到此错误的行是:

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

ReceivedInputs 是一个数组,其中包含页面具有的所有表单输入的名称。我试图通过这样做来避免错误:

如果(未定义!= 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] != 'undefined')

也。还有其他一些建议,但不断收到错误...

4

1 回答 1

0

你应该检查:

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

因为值 fromReceivedInputs[aux]用作details.requestBody.formData数组的索引。

于 2013-10-11T21:04:24.687 回答