Javascript 从循环下具有相同名称属性的html表单获取值
我有一个表单,它显示数据库中的多行,共有4列。从这些记录中,我需要在第4列中写入一个新值并更新数据库记录。但每当我尝试时,只能更新/读取第一行值。但其他几行不行!!这可能是由于“for循环”中的每个“name=redirection”都是相同的。那么,我如何也从其他行获取值Javascript 从循环下具有相同名称属性的html表单获取值,javascript,html,jsp,Javascript,Html,Jsp,我有一个表单,它显示数据库中的多行,共有4列。从这些记录中,我需要在第4列中写入一个新值并更新数据库记录。但每当我尝试时,只能更新/读取第一行值。但其他几行不行!!这可能是由于“for循环”中的每个“name=redirection”都是相同的。那么,我如何也从其他行获取值 for (int i=0; i<domains.size(); i++) { domainprops = (String[]) domains.get(i); %> <table cellspaci
for (int i=0; i<domains.size(); i++) {
domainprops = (String[]) domains.get(i);
%>
<table cellspacing="0" cellpadding="10" border="0" class="tableview" width="100%">
<td width="150"><input type="text" id="domains" name="domains" value="<%=domainprops[0]%>"></td>
<td width="160"><input type="text" name="defaulturl" value="<%=domainprops[1]%>" size="30"></td>
<td width="160"><input type="text" name="redirecturl" value="<%=domainprops[2]%>" size="30"></td>
<td width="160"> <input type="text" id="redirection" name="redirection"></td>
<td align="right"><a href="javascript:win2('recordUpdate.jsp?domains=<%=domainprops[0]%>
')">[Update]</a></td>
</tr>
</table>
<% } %>
编辑:请阅读有关具有相同ID的多个元素的答案。您不应使用相同ID的多个元素 您可以使用Javascript迭代重定向表单元素
function loopThroughRedirection(form) {
var result = "";
for (var i = 0; i < form.elements.length; i++) {
if (form.elements[i].name == 'redirection') {
// Do something to retrieve the value of redirection
result += form.elements[i].value
}
}
return result;
}
函数环向(表单){
var结果=”;
对于(var i=0;i
编辑:请阅读答案,其中提到具有相同ID的多个元素。您不应使用相同ID的多个元素
您可以使用Javascript迭代重定向表单元素
function loopThroughRedirection(form) {
var result = "";
for (var i = 0; i < form.elements.length; i++) {
if (form.elements[i].name == 'redirection') {
// Do something to retrieve the value of redirection
result += form.elements[i].value
}
}
return result;
}
函数环向(表单){
var结果=”;
对于(var i=0;i
DOM中的ID应该是唯一的。如果DOM中的任何元素都有ID,那么它不应该被任何其他元素共享
我建议您将循环计数器附加到ID的末尾。这将确保您在DOM中创建的每个元素都有自己的唯一ID
for (int i=0; i<domains.size(); i++) {
domainprops = (String[]) domains.get(i);
...
<input type="text" id="domains_<%= i %>" name="domains" value="<%=domainprops[0]%>">
...
<input type="text" id="redirection_<%= i %>" name="redirection"></td>
</tr>
</table>
}
DOM中的ID应该是唯一的。如果DOM中的任何元素都有ID,那么它不应该被任何其他元素共享 我建议您将循环计数器附加到ID的末尾。这将确保您在DOM中创建的每个元素都有自己的唯一ID
for (int i=0; i<domains.size(); i++) {
domainprops = (String[]) domains.get(i);
...
<input type="text" id="domains_<%= i %>" name="domains" value="<%=domainprops[0]%>">
...
<input type="text" id="redirection_<%= i %>" name="redirection"></td>
</tr>
</table>
}
@温格勒28。。谢谢我使用了数组,但它给我的结果是“未定义”。我的代码如下:var arr=new Array();var obj=“”;arr=document.getElementsByName(“重定向”);对于(var i=0;i
function win2(urlPath, loopID) {
...
var changeurls=document.getElementById("redirection_" + loopID).value;
urlPath+='&rdirect='+changeurls
...
}