在javascript中动态生成表单

在javascript中动态生成表单,javascript,forms,document,Javascript,Forms,Document,大家好 正在尝试生成一个单键表单,该表单将放在表的单元格中。问题是,这需要在javascript中动态生成。该表还有几个其他值。我先做了表格,没有表格部分,一切都很好。。。现在,表根本不生成 我知道我生成表单的方式不正确,但我不确定为什么。。。。请帮忙 谢谢 function populateInventory() { clearTable(); //This works var artistIndex = byId('artist').selectedInde

大家好 正在尝试生成一个单键表单,该表单将放在表的单元格中。问题是,这需要在javascript中动态生成。该表还有几个其他值。我先做了表格,没有表格部分,一切都很好。。。现在,表根本不生成

我知道我生成表单的方式不正确,但我不确定为什么。。。。请帮忙

谢谢

function populateInventory() {
        clearTable();  //This works
        var artistIndex = byId('artist').selectedIndex;
        var albumIndex = byId('albumSelect').selectedIndex;
        var inventoryArray = inventoryNames[artistIndex][albumIndex];

        for (i = 0; i < inventoryArray.length; i++) {
            var idValue = inventoryArray[i][2];
            var conditionValue = inventoryArray[i][3];
            var priceValue = inventoryArray[i][4];

            var table = byId('table');
            var row = table.insertRow(i + 1);

            var submitCell = row.insertCell(0);
            var idCell = row.insertCell(1);
            var conditionCell = row.insertCell(2);
            var priceCell = row.insertCell(3);

//Begin problem?!
                var form = document.createElement("form");
                form.method = "post";
                form.action = "<?php echo $_SERVER[PHP_SELF];?>";
                var inventoryIdElement = document.createElement("<input name='inventoryIdElement' type='hidden' value='" + idValue + "' ></input>");
                form.appendChild(inventoryIdElement);
                var submitElement = document.createElement("<input name='submit' type='submit' value='Remove' ></input>");
                form.appendChild(submitElement);

            //End problem?!
            var idElement = document.createTextNode(idValue);               
            var conditionElement = document.createTextNode(conditionValue);                 
            var priceElement = document.createTextNode("$" + priceValue);               

            submitCell.appendChild(form);
            idCell.appendChild(idElement);
            conditionCell.appendChild(conditionElement);
            priceCell.appendChild(priceElement);
        }
    }
函数populateInventory(){
clearTable();//这很有效
var artistinex=byId('artist')。选择索引;
var albumIndex=byId('albumSelect')。selectedIndex;
var inventoryArray=inventoryNames[artistIndex][albumIndex];
对于(i=0;i
您是否考虑过使用好的库进行DOM操作,如jQuery、YUI、Prototype、Dojo、Ext等。?这会让你的生活更轻松。

我认为你没有正确地使用
createElement
。它只接受标记名,而不是整个标记

我有。。。然而,我需要尽快完成这件事,没有时间去学习。在这个最后期限之后,我肯定会转向这样的事情。这是缺少的最后一个javascript片段..以我的观点和经验;初学者倾向于学习像jQuery这样的库,速度比普通javascript快得多。。var inventoryIdElement=document.createElement(“输入”);inventoryIdElement.name=“inventoryIdElement”;inventoryIdElement.type=“隐藏”;InventoryIdeElement.value=idValue;表.appendChild(InventoryIdeElement);仍然失败…:(表单操作被正确打印。这是在一个php文件中。