如何使用formID获取输入文本值?

时间:2016-12-15 16:12:55

标签: javascript jquery

我在同一页面上有两张表格。两种形式都有一个同名的文本字段。

我试图从两种形式之一中读取文本字段的值。如果我试图使用下面的代码读取值我得到的价值。但我不确定它返回的是哪种形式的价值。

document.getElementById("groupId")

现在如果我尝试使用下面的代码从特定表单中读取值,我收到错误。

document.forms["form1"].getElementById("groupId")

请说明我做错了什么,我们怎样才能读出控件的价值?

我可以同时使用javascript和jquery。

4 个答案:

答案 0 :(得分:3)

因为你正在使用jQuery,你可以这样做:

$('[name=form_name]').find('#field_id');

你的情况,例如:

$('[name=form1]').find('#groupId');

使用纯粹的js你可以这样做:

document.form_name.getElementById("field_id");

案例:

document.form1.getElementById("groupId");

希望这有帮助。

答案 1 :(得分:2)

您可以使用jquery执行以下操作。

var element = $(document.forms["form1"]).find('#groupId')

要获取文本值,您可以使用val函数。

var text = element.val();

答案 2 :(得分:2)

  

如果我试图使用下面的代码读取值我得到的值。但我不确定它将从哪种形式返回价值。

这意味着您有多个具有相同id的元素,这是一个很大的NO。 id's应该在整个HTML中都是唯一的。如果出于某种原因,您希望在多个元素上使用相同的id来使用JavaScript,请注意,通过为元素分配相同的class并按class

话虽如此,将您的HTML更改为不重复id并将其更改为具有公共类。现在使用此结构,您可以从from开始访问元素,如下所示

$('form[name="form1"]').find('input.ClassName').val()

Also for info purpose:如果您的HTML中有多个元素具有相同的id,并且当您尝试通过id进行访问时,将始终选择位于顶部解析的元素。

答案 3 :(得分:0)

W3C standards for HTML要求ID在文档中是唯一的。