试图在IE8中获取表格值时变得未定义

| 我有一个输入表单,嵌套在div中,定义如下:
<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;
一如既往,在此先感谢... 编辑:证明我不是疯子。     
已邀请:
我做了一个快速的测试用例来证明代码可以正常工作-http://jsfiddle.net/DmmcE/(在IE8上测试)。 正在执行:
var user = document.getElementsByName(\'userId\')[0];
返回
[object HTMLInputElement]
。 这意味着,您通过的
inputTitle
未通过正确的操作。 就是说,由于您正在使用MooTools,所以为什么不采用MooTools方式:
document.getElement(\'input[name=userId]\').get(\'value\');
示例:http://jsfiddle.net/UZTK4/     
您是否尝试过使用.innerHTML。 希望它能起作用!     
我建议改用
id
getElementById
。这应该更可靠,更快。任何支持JavaScript的东西都应该支持ѭ10。 有点谷歌搜索表明IE和
getElementsByName
确实相处得不太好。我通常使用ID属性来指代特定元素,并且很少在原始JavaScript中用于DOM争用,所以我不能说具体是什么错误。     
尝试使用JQuery来获取元素:
$(\"input[@name=\'inputTitle\']\").click(
这是更多信息的良好链接 http://jivebay.com/2007/05/30/handling-checkboxes-radio-buttons-and-select-options-in-jquery/     

要回复问题请先登录注册