我有一个输入表单,嵌套一个div中,这样定义得到形式值时入门未定义:试图在IE8
<div class="login-input">
<input type="text" name="userId">
</div>
我已经添加下面的按钮,并为click事件里面按钮,我有这样的代码:
click: function(){
var user = document.getElementsByName(inputTitle)[0].value;
var myRequest = new Request({
url: '/Context/servletName',
method: 'post',
data: {'user': user},
onRequest: function(){
$('container').setStyle('cursor', 'progress');
},
onSuccess: function(responseText){
$('container').setStyle('cursor', 'auto');
window.location = responseText;
},
onFailure: function(){
$('container').setStyle('cursor', 'auto');
}
});
myRequest.send();
}
这工作正常,在所有到目前为止,我已经测试过的浏览器(Chrome浏览器,FF,Safari浏览器),但在IE8,下面的代码行导致的问题:
var user = document.getElementsByName(inputTitle)[0].value;
我在IE开发工具中验证了inputTitle的值为“userId”。问题是
document.getElementsByName(inputTitle)[0];
未定义。
我也做了一些玩耍。添加此观看的回报是什么样子的有效对象:
// Returns valid object
document.getElementsByName(inputTitle);
// Returns null
document.getElementsByName(inputTitle).item(0);
document.getElementsByName(inputTitle).value;
和往常一样,在此先感谢...
编辑:证明我不是疯了....
这是奇怪的,对我来说getElementsByName( '...')[X ]工作正常,并在IE 8上返回预期的对象。请尝试清除缓存。 – Delta 2011-04-13 05:29:31
感谢所有人的回答!当我回到我的开发机器时,我会试一试。 – Dave 2011-04-13 16:06:37
@Delta - 我附上了开发工具的屏幕截图,显示它无法正常工作。我不知道怎么回事;但@奥斯卡的建议确实奏效,所以我没有抱怨。干杯。 – Dave 2011-04-14 02:32:25