Javascript 使用输入标记的值更改对象的属性?

Javascript 使用输入标记的值更改对象的属性?,javascript,forms,object,input,styles,Javascript,Forms,Object,Input,Styles,我试图只更改特定对象的值,但该值是从我正在使用的输入标记中获取的getElementById()。 我收到一个错误,说明我无法调用undefined的getElementById() interfaces[idx].document.getElementById(panel).style.fontSize = document.getElementById('fsizes').value +'px'; 及 两者似乎都不起作用 <input type="text" name="fsize"

我试图只更改特定对象的值,但该值是从我正在使用的输入标记中获取的
getElementById()
。 我收到一个错误,说明我无法调用undefined的
getElementById()

interfaces[idx].document.getElementById(panel).style.fontSize = document.getElementById('fsizes').value +'px';

两者似乎都不起作用

<input type="text" name="fsize" id = 'fsizes' onchange = 'changeSize();'/>

这是输入


编辑:面板在单击其中一个跨距时获取其值,以便我知道正在更改哪个面板的属性。我的页面上的面板是一个对象的一部分。
接口是我的对象的数组。idx是正在访问的对象。

fsizes在我设置默认值时返回一个值,猜测面板未定义。如果您在某个地方设置了它,请确保范围正确,如果还没有,请在其前面加上var。或者,如果panel不是一个变量,则将其括在括号中。

如果您删除接口[idx],则可以正常工作。请参见以下示例

面板中有什么?它是如何获得价值的?当您调用
document.getElementById()
时,您永远不必限定它,除非您有很多帧或其他内容。(什么是“接口”?)然后
接口[idx]。文档
必须为空。问题在别处——可能是您试图定义
接口[idx]的地方。如果所有内容都在同一页上,并且没有任何元素不在iframe中,则不需要使用interfaces数组作为文档对象的前缀。文档是对DOM的引用。我知道面板有一个默认值,所以它总是被定义的。你所说的范围是什么意思?我在这里看到了你的代码,面板是空白的。我所说的作用域是指面板是否在函数中声明,但它看起来并不是。哦,哇,我没看到。我这样做是为了使panel不等于“”,但它仍然不起作用。请检查以确保panel=dom中某个元素的id。如果它仍然不起作用,贴一个新的提琴,我们可以看一看。问题是我需要能够区分哪个对象正在改变,因为我只想改变一个对象。我的全部代码都在这个问题上,您只需在事件声明中将所需的变量传递给函数即可。例如onchange=“changeSize(this);”或onchange=“changeSize(“”)”。同样,您也可以对changeColor函数执行此操作。您可以简单地传递颜色,而不是设置界面颜色。
<input type="text" name="fsize" id = 'fsizes' onchange = 'changeSize();'/>