通过DOM添加表单元素

时间:2013-09-22 11:04:31

标签: javascript forms dom

如果将表单元素添加到现有表单中的所有示例都使用document.getElementById方法来获取他们想要附加表单元素的元素,或者它们是Jquery方法,我不使用它们并且不需要使用Jquery。

这是我的表格

    <form name="formname" action="javascript:return false;" enctype="multipart/form-data" method="post" onSubmit="processCart(this);">
<table>
<tr>
<td>&nbsp;&nbsp;</td>
<td>Number&nbsp;&nbsp;</td>
<td>Price&nbsp;&nbsp;</td>
<td>Quantity&nbsp;&nbsp;</td>
<td>Remove</td>
</tr>
<tr>
<td>&nbsp;&nbsp;<input type="checkbox" name="items" value="Item 1"></td>
<td># 1&nbsp;&nbsp;</td>
<td>$<input type="text" name="price" size="12" value="1.00" readonly /></td>
<td><input type="text" name="quantities" value=""/></td>
<td>&nbsp;</td>

添加元素的按钮称为“添加项目”,单击它时应该在现有元素之后添加表单元素。

如何在Javascript中实现这一点的任何想法将不胜感激。到目前为止的代码片段

function insertFormElements(){

for(i in ele){
    itm = 'item_'+i;
    amt = 'amount_'+i;
    qty = 'quantity_'+i;

    // add a new Inputs
    addElement(itm,"text","");
    addElement(amt,"text","");
    addElement(qty,"text","");
    // add values       
    document.formname[ itm ].value = ele[i].items;
    document.formname[ amt ].value = (ele[i].amount * ele[i].quantity);
    document.formname[ qty ].value = ele[i].quantity;
    }
    return true;

}

函数addElement

function addElement(){
try{
    var element = document.createElement("input");

    //Assign different attributes to the element.
    element.setAttribute("name", arguments[0]);
    element.setAttribute("type", arguments[1]);
    element.setAttribute("value", arguments[2]);
    document.formname.appendChild(element);
    }catch(e){
        alert( e );
    }

}

我没有警报,我没有看到任何元素被添加,所以有人可以帮助解决可能出现的问题吗?

0 个答案:

没有答案