我有一个小函数可以改变表单输入的类型(我用它来改变提交的按钮)。我已经在某个地方发现了它并且自己没有写它,它只是一个小的,方便的小代码片段,如下所示:
function change_input_type(id,x)
{
var id;
var x;
// Change input type
document.getElementById(id).type = x;
}
我用onClick称呼它:
onClick="change_input_type('myButton','submit');
但我希望它也能够改变输入的值(在某些情况下我希望从0更改为1的另一个隐藏输入)。我知道我可以创建另一个函数,将其重命名为change_input_value,然后将document.getElementById(id)。 type 更改为document.getElementById(id)。 value 但我想要一个通用功能,像这样:
function change_input(id,x,y)
{
var id;
var x;
var y;
// Change input
document.getElementById(id).x = y;
}
并点击这样:
onClick="change_input('myButton','type','submit');"
onClick="change_input('myHidden','value','1');"
但是当我尝试它不会工作。我通常使用php,而且我对JavaScript不太熟练......所以我想知道我在这里做错了什么?
答案 0 :(得分:5)
通过[..]
访问对象属性(括号表示法)将允许您使用变量的值作为属性名称。
document.getElementById(id)[x] = y;
答案 1 :(得分:3)
只需使用setAttribute()
方法将名为x
的属性值设置为y
// Change input type
document.getElementById(id).setAttribute(x, y);