Javascript动态变量

Tor*_*wen 1 javascript forms input

我有一个小函数,可以更改表单输入的类型(我用它来更改按钮提交).我发现它在某个地方,并没有自己写,它只是一个小的,方便的小片段代码,像这样:

function change_input_type(id,x)
{
    var id;
    var x;

    // Change input type
    document.getElementById(id).type = x;
}
Run Code Online (Sandbox Code Playgroud)

我用onClick称它为:

onClick="change_input_type('myButton','submit');
Run Code Online (Sandbox Code Playgroud)

但我希望它也能够改变输入的值(在某些情况下我希望从0更改为1的另一个隐藏输入).我知道我可以创建另一个函数,将其重命名为change_input_value,然后更改document.getElementById(id).输入 document.getElementById(id).价值,但我想要一个通用的功能,像这样:

function change_input(id,x,y)
{
    var id;
    var x;
    var y;

    // Change input
    document.getElementById(id).x = y;
}
Run Code Online (Sandbox Code Playgroud)

并点击这样:

onClick="change_input('myButton','type','submit');"
onClick="change_input('myHidden','value','1');"
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试它不会工作.我通常使用php而且我对JavaScript不是很熟练......所以我想知道我在这里做错了什么?

Kit*_*ita 5

通过[..](括号表示法)访问对象属性将允许您使用变量的值作为属性名称.

document.getElementById(id)[x] = y;
Run Code Online (Sandbox Code Playgroud)

检查MDN属性访问器 - 括号表示法以获取更多详细信息.