3
它聞起來像一個微不足道的,但無法弄清楚。我有一個html
表格,由JS
動態生成,並填充了從服務器獲取的初始數據,DB作爲參數傳遞給displayResForm
。該表單正確顯示填充數據。現在我希望能夠通過此表單修改此數據並將其作爲JSON
格式POST回數據庫,但問題是我無法捕獲表單數據在我的JavaScript
中。抓取JS中的html表單數據
的形式基地如下:
<form method="POST" id="res-form" name="modForm" onSubmit="modSubmit()">
{% csrf_token %}
</form>
連帶內置:
function displayResForm(results) {
var form = document.getElementById("res-form");
for (var i = 0; i < results.length; i++) {
var input = document.createElement("input");
input.setAttribute("type", "number");
input.setAttribute("value", results[i][1]);
input.setAttribute("id", toString(i));
var label = document.createElement("label");
label.setAttribute("for", toString(i));
label.appendChild(document.createTextNode(results[i][0]));
form.appendChild(label);
form.appendChild(input);
form.appendChild(document.createElement("br"));
}
var mod = document.createElement("input");
mod.setAttribute("class", "btn btn-info");
mod.setAttribute("type", "submit");
mod.setAttribute("value", "Modify");
mod.setAttribute("onclick", "modSubmit()");
form.appendChild(mod);
}
正如你可以看到我有modSubmit
(一個兩個電話在表單標籤中,其他在提交按鈕),但都不起作用。 我想抓住它(發送POST請求到服務器,尚未實現):
function modSubmit() {
//var formData = JSON.stringify($("modForm").serializeArray());
var formData = $('modForm').serializeArray()
console.log("formData=", formData);
alert(formData);
// todo POST back to server
return false;
}
的問題是我不斷獲取空formData
...
編輯:
我可以很容易地通過手動
var x = document.getElementById("res-form");
var el = x.elements[1].value;
alert(el);
獲得元素的價值,但我希望只有一行。
有一個進步,我現在'FORMDATA = [{ 「名」: 「csrfmiddlewaretoken」, 「值」: 「lcNuR9kQlI67JHolg4naJbXjT39DoCKvNXSSGpOpx8ebl69gtBXCZVdVdZvQVmTC」}]'...所以這是Django的添加元數據'csrf_token'這是偉大的,因爲我需要這個,但仍然錯過了真實的數據... – micsza