function addInput(parentID,inputNAME) {
var padre = document.getElementById(parentID);
var container = document.createElement("input");
container.type = "text";
container.name = inputNAME;
container.value = "";
container.form = 'extra';
var enter = document.createElement("br");
padre.appendChild(container);
padre.appendChild(enter);
}
我也试过这个:
container.formName = 'extra';
container['form'] = 'extra';
container.attributes['form'] = 'extra';
container.createAttribute('form','extra')
编辑:
答:
container.setAttribute("Form",'extra');
答案 0 :(得分:7)
我用过
container.setAttribute("Form",'extra');
它似乎在FF,Chrome和Opera中工作。
答案 1 :(得分:2)
Dunno为什么“我不是我”删除他/她的答案,这大多是正确的。 {2} HTML规范中将form 属性指定为readonly,并引用表单控件所在的表单。如果表单不在表单中,则表示未定义。< / p>
表单attribute是HTML5中的新增功能,旨在将控件与其所在的表单相关联。这适用于嵌套表单。
在输入元素上设置表单属性可能会产生不可预测的结果。在符合HTML5的浏览器中,如果form属性的值是文档中另一个表单的ID,则该控件将与该表单关联,因此其form属性是对表单的引用,其form属性将是一个字符串(相关表格的ID)。否则,属性值不会反映在控件的表单DOM属性中,但可以将属性值保持为设置。
IE总是弄乱属性和属性,IE 6用属性值替换form属性。也许后来的版本表现不同,也许其中一个版本支持HTML5。
以下内容可能有所帮助:
<form id="form0">
<div>
<input type="button" form="form1" onclick=
"alert('form property is: ' + this.form + ' ' + this.form.id +
'\nform attribute: ' + (typeof this.getAttribute('form')) +
' ' + this.getAttribute('form'))
" value="Show form property and attribute">
</div>
</form>
<form id="form1"><div></div></form>