我知道我生成表单的方式不正确,但我不确定为什么......请帮忙!
由于
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);
}
}
答案 0 :(得分:2)
你是否考虑过使用一个好的库进行DOM操作,比如jQuery,YUI,Prototype,Dojo,Ext等?对于这类事情,它会让你的生活更容易。
答案 1 :(得分:0)
我不认为你在那里正确使用createElement
。它只需要标记名称,而不是整个标记。