我一直试图解决这个问题,但我找不到与我的问题相关的答案。
我想知道是否可以从输入框动态输入对象参数的值?
示例:
<form name="myform">
<input type="visibile" name="formvar" value="">
</form>
<object id="myobject">
<param name="color" value="{input destination}" />
我基本上想知道是否可以动态地将值添加到“输入目的地”
由于
答案 0 :(得分:1)
创建object
后(加载页面时),param
将传递给该对象。因此,您无法在此之后更改“输入目的地”。
您可以延迟object
的创建,直到input
发生变化,如下所示。
<form name="myform">
<input type="visibile" name="formvar" value="" onchange="createObject(value)">
</form>
<script>
function createObject(value) {
document.getElementById('document_container').innerHTML =
'<object id="myobject">' +
'<param name="color" value="' + value + '"/>' +
'</object>';
}
</script>
<div id="object_container"></div>
唯一的缺点是,object
更改后会反复创建input
。
另一个选择是确保object
插件提供一些接受设置新参数的API,例如myobject.setParam('color', value)
。
答案 1 :(得分:0)
您可以使用此对象:
或在github上
https://github.com/blauharley/TemplateJS
能够将JSON-Object的值插入到这样的字符串中:
var str = '<object id="myobject"> <param name="color" value="{input}{destination}" />...';
var obj = [{ input: { destination: 'a value'} }]
var templ = new TemplateJS();
templ.insertTemplate(obj,str,'#html-id-to-insert-output');
第三个参数('#html-id-to-insert-output')用于插入insertTemplate-methode的输出。
希望这有帮助。