我在同一页面上有两张表格。两种形式都有一个同名的文本字段。
我试图从两种形式之一中读取文本字段的值。如果我试图使用下面的代码读取值我得到的价值。但我不确定它返回的是哪种形式的价值。
document.getElementById("groupId")
现在如果我尝试使用下面的代码从特定表单中读取值,我收到错误。
document.forms["form1"].getElementById("groupId")
请说明我做错了什么,我们怎样才能读出控件的价值?
我可以同时使用javascript和jquery。
答案 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在文档中是唯一的。