我的页面上有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
它是相同的
答案 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;
}
,你可以在你的功能中摆脱它。