我有一个对象应该只显示一个文本框,其中包含值“newtext”。我想通过传递一个对象作为对象构造函数(函数名称y)的参数,我可以将1注入文本框。如何以这种方式添加文字?
将来我会有多个文本框,我想根据来自外部数组的值填充构造函数来填充它们。
<div ID='x'></div>
<script>
function y(imp){
this.t=[];
this.f=document.createElement('FORM');
this.t['text']=document.createElement('INPUT');
document.getElementById('x').appendChild(this.f);
this.f.appendChild(this.t['text']);
this.t['text'].value=imp['text'].value; //tried overriding the textbox value with value from inbound parameters.
}
var add=[];
add['text'].value='newtext'; // Tried to set textbox value here but failed
var z=new y(add);
</script>
答案 0 :(得分:0)
您的代码几乎是正确的。问题是添加数组未初始化,因此添加[&#39; text&#39;]不是文本框而是空值。 为此,您必须初始化添加[&#39; text&#39;]为INPUT字段或在那里设置文本值
<div ID='x'></div>
<script>
function y(imp){
this.t=[];
this.f=document.createElement('FORM');
this.t['text']=document.createElement('INPUT');
document.getElementById('x').appendChild(this.f);
this.f.appendChild(this.t['text']);
this.t['text'].value=imp['text']; //tried overriding the textbox value with value from inbound parameters.
}
var add=[];
add['text']='newtext'; // Tried to set textbox value here but failed
var z=new y(add);
</script>
答案 1 :(得分:0)
我想我明白了。我不得不制作一个包含&#34;值&#34;参数。这段代码:
function val(v){this.value=v}
var arr=[];
arr['width']=new val(64);
将arr [&#39; width&#39;]。值设置为64。