javascript noob。变量和要素

javascript noob。变量和要素,javascript,function,syntax,Javascript,Function,Syntax,在这里使用javascript实现了noob。我正试图改变一个函数。这是一个目前在那里和工程 function hideStateField(theForm) { theForm.state.disabled = true; theForm.state.className = 'hiddenField'; theForm.state.setAttribute('className', 'hiddenField'); document.getElementById(

在这里使用javascript实现了noob。我正试图改变一个函数。这是一个目前在那里和工程

function hideStateField(theForm) {
    theForm.state.disabled = true;
    theForm.state.className = 'hiddenField';
    theForm.state.setAttribute('className', 'hiddenField');
    document.getElementById("stateLabel").className = 'hiddenField';
    document.getElementById("stateLabel").setAttribute('className', 'hiddenField');
    document.getElementById("stateText").className = 'hiddenField';
    document.getElementById("stateText").setAttribute('className', 'hiddenField');
    document.getElementById("stateBreak").className = 'hiddenField';
    document.getElementById("stateBreak").setAttribute('className', 'hiddenField');
}
我想让它更通用,这样它就不会特定于“state”字段。所以我改变了函数名以反映这一点,并添加了第二个参数。然后我试着用第二个参数作为变量来代替我们看到的“状态”

我只是用“state”作为第二个变量来测试它,以确保它能正常工作。。。但事实并非如此。我不断得到“UncaughtTypeError:无法设置未定义的属性'disabled'”。我确信这是一个语法错误。我对该函数的调用是:

hideAddressField(theForm,state);
表单的名称也是“theForm”,所以我认为变量“theForm”被赋值为“theForm”,而变量“theField”被赋值为“state”,这两个函数应该相等。显然不是


哪里出错了?

您必须使用[theField]格式语法,因为“theField”是包含属性名称的变量,而不是属性本身。此外,还需要将
状态
作为字符串传递。

必须使用
格式[theField]
语法,因为“theField”是包含属性名称的变量,而不是属性本身。此外,您还需要将状态作为字符串传递。

可能与和其他文件重复。此外,MDN文档可能会有所帮助:可能与和其他文件重复。此外,MDN文档可能会有所帮助:我可以获得更多详细信息吗?我尝试了我认为你的意思,现在我得到了“未捕获的语法错误:意外标识符”。没有关系!我的编辑器自动执行了一些操作并删除了一个。我现在拿到了,谢谢!从哪里可以了解到各种语法和符号?我第一次尝试谷歌,甚至不知道搜索什么。@user1438619:while MDN JavaScript指南值得一读:一旦Mozilla的网站恢复活力,它就会出现:)我整天都在尝试安装firefox,这样我就可以得到firebug了。我能得到更多细节吗?我尝试了我认为你的意思,现在我得到了“未捕获的语法错误:意外标识符”。没有关系!我的编辑器自动执行了一些操作并删除了一个。我现在拿到了,谢谢!从哪里可以了解到各种语法和符号?我先尝试了谷歌,甚至不知道该搜索什么。@user1438619:while MDN JavaScript指南值得一读:一旦Mozilla的网站恢复活力,它就会出现:)我整天都在尝试安装firefox,这样我就可以得到firebug了。
hideAddressField(theForm,state);