TypeError:无法读取undefined的属性

时间:2013-10-11 21:02:01

标签: javascript

我在我的html表单输入中执行循环以检查它的值。我在通过chrome-extension访问的每个页面中都这样做。有些页面非常好用,但其他页面,我一直收到错误

  

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

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

  

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

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

  

if(undefined!= 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')

太。还有其他一些消息,但不断收到错误......

1 个答案:

答案 0 :(得分:0)

你应该检查:

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

因为来自ReceivedInputs[aux]的值被用作details.requestBody.formData数组的索引。