我有一個簡單的表單創建,它允許用戶添加和刪除行,他們選擇。在用戶確定要添加和填充表單的行數後,在提交後,我想發佈數據以便我可以使用.php腳本將數據上載到服務器上。將HTML表單數據發佈到php(調試)
我測試了添加和刪除行的功能。當我點擊提交按鈕時,它會將我重定向到upload.php,但在該頁面上,我看到一個錯誤:「未定義索引:獎勵」,這讓我認爲數據沒有正確發送。
下面我的實現有問題嗎?
HTML
<button onclick="addRow();">Add Row</button>
<form method="post" action="upload.php">
<table border="1" id="optionsTable">
<tr>
<td>Header1</td>
<td>Header2</td>
<td>Delete</td>
</tr>
<tr id="templateRow" style="display:none">
<td><input type="text" id="reward" /></td>
<td><input type="text" id="duration" /></td>
<td><input type="button" id="deleteOption" value="Delete" onclick="delRow(this)"/></td>
</tr>
</table>
<input type="submit" value="Submit" />
</form>
</body>
</html>
<script>
var maxID = 0;
function getTemplateRow() {
var x = document.getElementById("templateRow").cloneNode(true);
x.id = "";
x.style.display = "";
x.innerHTML = x.innerHTML.replace(/{id}/, ++maxID);
return x;
}
function addRow() {
var t = document.getElementById("optionsTable");
var rows = t.getElementsByTagName("tr");
var r = rows[rows.length - 1];
r.parentNode.insertBefore(getTemplateRow(), r);
}
function delRow(row) {
var i=row.parentNode.parentNode.rowIndex;
document.getElementById('optionsTable').deleteRow(i);
}
</script>
我只有調試與upload.php的現在所以只需要一個命令有: 回波($ _ POST [ '獎勵']);
任何幫助將不勝感激。
您好,感謝您的幫助!我改變了你的建議,似乎有所幫助; .php正確執行。但是,$ _POST ['獎勵']似乎是空的。我用命令 \t進行了測試if(empty($ _ POST ['reward'])){ \t \t echo「EMPTY」; \t} 似乎數據沒有正確發送。有任何想法嗎? – Chimi
@Chimi,它顯示你爲空,因爲你設置了style =「display:none」。刪除它,然後嘗試也許它會幫助你解決你的問題。 –
謝謝。這部分解決了這個問題,但是當我回應時,我只得到最後一個結果而不是所有結果。有沒有一種方法,我可以把它作爲一個值的數組? – Chimi