Javascript 在JS中获取html表单数据
它闻起来像是一个琐碎的东西,但无法理解。我有一个Javascript 在JS中获取html表单数据,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,它闻起来像是一个琐碎的东西,但无法理解。我有一个html表单,由JS动态生成,并填充从服务器抓取的初始数据,DB作为参数传递给displayResForm。表单正确显示,并填写了数据。现在我希望能够通过此表单修改此数据,并将其作为JSON格式发布回数据库,但问题是我无法在JavaScript中捕获html表单数据 表单基础如下所示: <form method="POST" id="res-form" name="modForm" onSubmit="modSubmit()">
html
表单,由JS
动态生成,并填充从服务器抓取的初始数据,DB作为参数传递给displayResForm
。表单正确显示,并填写了数据。现在我希望能够通过此表单修改此数据,并将其作为JSON
格式发布回数据库,但问题是我无法在JavaScript
中捕获html
表单数据
表单基础如下所示:
<form method="POST" id="res-form" name="modForm" onSubmit="modSubmit()">
{% csrf_token %}
</form>
问题是我一直在空formData
编辑:
我可以通过以下方式轻松地手动获取元素的值:
var x = document.getElementById("res-form");
var el = x.elements[1].value;
alert(el);
但我希望有一行。您遇到的问题在于下一行中使用的选择器:
var formData = $('modForm').serializeArray()
__________________^^^^^^^
此行尝试选择名为modForm
的标记,而不是名称等于modForm
的元素
相反,您可以使用以下选项选择表单:
var formData = $('[name="modForm"]').serializeArray();
//Or also using the id attribute
var formData = $('#res-form').serializeArray();
希望这有帮助。有一个进展,我现在得到了
formData=[{“name”:“csrfmiddlewaretoken”,“value”:“lcnur9kqli67jholg4najbxjt39dockvnxssgppx8ebl69gtbxczvdvdzvqvmtc”}]
。。。这是djangocsrf_token
添加的元数据,非常好,因为我需要它,但仍然缺少真正的数据。。。
var formData = $('modForm').serializeArray()
__________________^^^^^^^
var formData = $('[name="modForm"]').serializeArray();
//Or also using the id attribute
var formData = $('#res-form').serializeArray();