我有一个表单,在某些时候你可以添加同一个问题的多行。简化版看起来像这样:
<input type="text" name="name[]" value=""/>
<input type="radio" name="opted[]" value="Yes" /> Yes
<input type="radio" name="opted[]" value="No" /> No
在每个“添加好友”按钮上单击克隆上面的行。这对于文本字段很有效,因为我从提交中的所有行获取值,但是单选按钮不起作用,因为它具有相同的名称并且单击它会干扰其他克隆的行。
知道如何解决这个问题吗?
答案 0 :(得分:4)
将name="opted[]"
替换为name="opted[123]"
,其中123
是唯一标识符,以便将每组答案分组。
然后,您可以通过以下任一方法访问表单元素:
var method1 = document.getElementsByName("opted[123]");
var method2 = document.querySelectorAll("[name='opted[123]']");
//Both vanilla-JavaScript methods return a NodeList, consisting of all
// elements with name="opted[123]"