Javascript 一页上有两个表单,输入字段相同

Javascript 一页上有两个表单,输入字段相同,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,所以我在一个页面上有两个相同的表单,我不能给出不同的名称,因为它们被绑定到后端 我在不同的表单上有几个具有相同ID的输入域,使用document.getElementById'ID'.value检查它们是否为空 奇怪的是,一半的输入字段是在其中一个表单上检查的,另一半是从另一个表单上检查的。这是当用户仅在其中一个表单中输入值时,尽管它们使用了两个不同的javascript函数。对于一个输入字段,它会自动获取最接近的id,对于其他字段,它会一直到另一个表单 我的问题是如何获取要检查的元素的值,这些

所以我在一个页面上有两个相同的表单,我不能给出不同的名称,因为它们被绑定到后端

我在不同的表单上有几个具有相同ID的输入域,使用document.getElementById'ID'.value检查它们是否为空

奇怪的是,一半的输入字段是在其中一个表单上检查的,另一半是从另一个表单上检查的。这是当用户仅在其中一个表单中输入值时,尽管它们使用了两个不同的javascript函数。对于一个输入字段,它会自动获取最接近的id,对于其他字段,它会一直到另一个表单

我的问题是如何获取要检查的元素的值,这些元素最靠近提交按钮或其中一个表单附近的其他元素


我尝试使用jQuest最接近的方法,但似乎无法处理所有文档。getElementById。

元素ID应始终是唯一的。您不应该有两个或多个具有相同ID的元素。document.getElementById'someId'期望返回1个元素,而不是元素数组-如果您希望获取多个不需要重复ID的元素,则可以使用其他函数

学校:

ID在页面中应该是唯一的。但是,如果存在多个具有指定ID的元素,则getElementById方法将返回源代码中的第一个元素


请也给我们看看你的代码?你能把输入字段上的ID改成唯一的吗?通过这种方式,您可以确保您的文档是正确的。getElementById'someId'肯定返回了正确的元素,您不必依赖jQuery方法。简单:更改后端。很明显,当你给两个相同的表单相同的ID时,你是做错了什么。您应该使用唯一的ID,因为在ID应该是唯一的,或者将ID属性更改为class。看到jquery标记,然后执行$'form.className'。在'change'上,执行函数{///您想要执行的操作-例如,$this.validate;};-将自动绑定到所有元素并独立处理它们。