【发布时间】:2017-07-14 21:47:25
【问题描述】:
我的页面有两个不同的输入,它们包含相同的 ID,但每个输入的形式不同。我实际上是使用按 ID 获取元素为来自 javascript 的输入设置值。我知道这是无效的。但问题是,如果我更改其中一个输入 ID,我将需要在“购物车”中重新编写一堆代码,因为这些输入将值传递给购物车。我实际上暂时不打算碰它。那么,是否有任何技巧可以针对一个输入而不是另一个输入,即使它们具有相同的 ID?
例如:
<input type="hidden" name="cart_1_ID_Add2" id="cart_1_ID_Add2" value=""/>
<input type="hidden" name=cart_1_ID_Add2" id="cart_1_ID_Add2" value=""/>
提前致谢!!
【问题讨论】:
-
好吧,您必须使用
getElementById()以外的其他内容,因为您要求 ID 没有用处。document.querySelector()可能会起作用,如果您可以设计一个标识目标元素的查询。 -
您需要更改其中一个表单 ID。您不能在一个页面上多次使用相同的 ID - 只要您这样做,getElementById() 肯定不会起作用。
-
一个ID应该是唯一的在一个页面中(就像人们在一个“国家”中拥有唯一的ID一样)
-
问题是这些输入没有从 javascript 中获得任何值,除了通过 id 和名称一起获取元素,所以基本上我必须为输入分配相同的名称和 id 以便它从 javascript 获取数据。
-
如果您想通过其他方式识别元素,可以使用
name或class。正如其他人指出的那样,这不是标准的做法。如果您现在返回并更改它以拥有唯一的 Id,您可能会避免以后不得不返回并让它变得更糟。
标签: javascript php jquery html tags