无法通过jQuery中的标记名称获取表单数据

时间:2017-05-31 07:56:09

标签: javascript jquery html

我正在尝试在jQuery中获取表单数据,我尝试了以下两种方法:

var form = document.getElementById('user_form');   //By using form id
var form = document.getElementsByTagName('form');  //By form tag name

第一个以下列格式给出结果:

<form id="user_form" action="/users/create_user"  method="post">
// ...
</form>

这没关系,但是当我尝试第二种方法时,它会以对象的形式返回结果。

[form#user_form, user_form: form#user_form]

但我正在寻找第一种方法返回的相同格式的结果。

4 个答案:

答案 0 :(得分:3)

getElementsByTagName返回标记名称的satisties节点列表。 您可以应用索引来获取单个元素。

var forms = document.getElementsByTagName('form');  //By form tag name
var form = forms[0];

答案 1 :(得分:1)

您可以轻松使用jquery选择器通过索引来访问所需的节点。以下是vanilla和jquery的示例:

var htmlFormById = $("#user_form")[0];
console.log("htmlFormById",htmlFormById);
var htmlFormByTag = $("form")[0];
console.log("htmlFormByTag",htmlFormByTag);
var formById =  document.getElementById('user_form');
console.log(formById);
var formByTag = document.getElementsByTagName('form')[0];
console.log(formByTag);

以下是小提琴中的工作解决方案:https://jsfiddle.net/toc3ej6s/1/

答案 2 :(得分:0)

var InnerHtml = document.getElementById("wrapper").innerHTML 
InnerHtml = serialize(document.forms[0]);   //Serialized Form Data

在这JavaScript Form serialized

上找到了

希望这有助于。

答案 3 :(得分:0)

getElementsByTagName()方法返回文档中具有指定标记名称的所有元素的集合

document.getElementsByTagName('form')