无法从我的document.forms中读取属性

时间:2017-08-03 09:27:25

标签: javascript

我的页面上有js代码:

var mail = 'idEmail';
value(mail);
//function returning the value of an input
function value(input){
  return eval('window.document.Search.'+input).value;
}

我有这个错误:

TypeError: Cannot read property 'idEmail' of undefined

为什么当我return eval('window.document.Search.'+input).value;更改return eval('window.document.forms['Search'].'+input).value;时,为什么会这样做?

document.forms["general"]
or
document.forms[0]
or
document.general 

它是相同的

2 个答案:

答案 0 :(得分:1)

因为您忘记了forms部分:

return eval('window.document.forms.Search.'+input).value;

请注意eval是邪恶的。你也可以这样做:

return document.forms.Search[input].value;

答案 1 :(得分:1)

function您试图访问undefined对象的属性时,事实上.Search不是window.document的属性,而是{{1}相反,改变它:

window.document.forms

注意:

最好避免使用function value(input){ return window.document.forms.Search[input].value; } ,你可以在你的功能中摆脱它。