2015-11-06 131 views
0

在我的頁面上,我顯示了一個條目表。在表格末尾是一個「修改」按鈕。當點擊按鈕時,該行變成用於直接修改內容的表單。動態創建表格

此代碼:被創建這樣

element.innerHTML = "<tr class='alt_col'>"; 
element.innerHTML += "<form action='/RIDT/includes/modify_codeplug.inc.php' method='POST' name='modify_form'>"; 
element.innerHTML += "<td><input type='text' name='fileName' value='" + fileName + "'></td>"; 
element.innerHTML += "<td><input type='text' name='location' value='" + loc + "'></td>"; 
element.innerHTML += "<td><input type='text' name='build' value='" + build + "'></td>"; 
element.innerHTML += "<td><input type='text' name='version' value='" + version + "'></td>"; 
element.innerHTML += "<td><select name='type' id ='selectType'>" + descOptions + "</select></td>"; 
element.innerHTML += "<td><input type='hidden' name='id' value='" + id + "'/><input type='submit' value='Submit'/></td>"; 
element.innerHTML += "</form>"; 
element.innerHTML += "</tr>"; 

var options = document.getElementById("selectType").options; 

for (i = 0; i < options.length; i++) 
{ 
    if (options[i].text == desc) 
    { 
     options[i].selected=true; 
    } 
} 

結果形式:

<form action="/RIDT/includes/modify_codeplug.inc.php" method="POST" name="modify_form"></form> 

與所有的封閉元件來後的形式的輸入元件。爲什麼表單被提前關閉?

+0

因爲無法將表格數據元素包裝在表格中。這是無效的HTML,並且瀏覽器試圖糾正它。 – j08691

+0

但我已經在另一頁上完成了,它確實有效。現在兩頁上的代碼看起來完全相同,但問題仍然存在。 – HFTekk

+0

我會回來的。另一個頁面顯示一個「添加新的」表格作爲表格行顯示。所以沒有細胞數據存在。 – HFTekk

回答

-1

我沒有測試這個,但如果你嘗試在DOM中插入一個未關閉的元素,jQuery也會遇到同樣的問題。結束標籤爲您添加。

試試這個:

//track the html as a single string var 
var html = "<tr class='alt_col'>"; 
html += "<form action='/RIDT/includes/modify_codeplug.inc.php' method='POST' name='modify_form'>"; 
html += "<td><input type='text' name='fileName' value='" + fileName + "'></td>"; 
html += "<td><input type='text' name='location' value='" + loc + "'></td>"; 
html += "<td><input type='text' name='build' value='" + build + "'></td>"; 
html += "<td><input type='text' name='version' value='" + version + "'></td>"; 
html += "<td><select name='type' id ='selectType'>" + descOptions + "</select></td>"; 
html += "<td><input type='hidden' name='id' value='" + id + "'/><input type='submit' value='Submit'/></td>"; 
html += "</form>"; 
html += "</tr>"; 

// set the html string once 
element.innerHTML = html; 
0

感謝大家的幫助。我將在以後更深入地研究所有提供的建議。爲了節省時間,我做了一個不同的方式。提交按鈕不是提交表單,而是調用另一個JavaScript函數,它從DOM中挑選輸入數據,然後構建隱藏表單並將其提交給我的php腳本。這不太好,但它完成了工作。