2016-12-15 77 views
1

我在同一页上有两种形式。在这两种形式中都有一个同名的文本字段。如何使用formID获取输入文本值?

我试图从两种形式之一读取文本字段的值。如果我正在尝试使用下面的代码读取值,我正在获取该值。但我不确定它从哪种形式返回价值。

document.getElementById("groupId") 

现在,如果我试图从下面的代码中读取特定形式的值,我收到错误。

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

请建议我在做什么错,我们如何读取控件的值?

我可以同时使用javascript和jquery。

回答

3

由于您使用jQuery的你可以这样做:

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

你的情况如:

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

使用纯JS,你可以做到这一点,如:中

document.form_name.getElementById("field_id"); 

样品你的情况:

document.form1.getElementById("groupId"); 

希望这会有所帮助。

2

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

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

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

var text = element.val(); 
2

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

这意味着你有多个元素相同的id这是一个很大的NO。 id's在整个HTML中应该是唯一的。如果由于某种原因,你想用同一id上的多个元素通过分配相同class的元素和class

访问与JavaScript的工作意识到同样的任务,可以这样说,改变你的HTML没有重复id,并将它们改为拥有一个共同的类。现在有了这个结构,你可以访问该元素从from开始像下面

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

Also for info purpose:如果你在你的HTML具有相同id多个元素,当您尝试访问由id的元件,其放置从顶部解析顶部将始终被选中。

+1

Upvoted是指出共享表单元素ID问题的唯一答案。 –

0

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

+0

谢谢。我同意。它的一些运行混乱的代码,我正在处理:) –

+1

然后,你需要像这样:'code' document.form1.getElementById(“groupId”)。val(); – gjegadesh