请高手帮忙!!!form元素遍历及取值 你的ID不是很有规律么。 var i=1;var s=document.getElementById("select_"+i)while(s!=null){ 你的代码} 这只是个思路 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 既然用了两个数组就应该分别for循环它们肯定可以还有,要用id,不要用name控件可以用tagName判断是select还是input 楼上两位兄弟说的都有道理,但我还是一头雾水,ID其实是没有规律的,因为是动态生成的select&input,所以就可以删除上面也说了,我也知道用id好,就是不怎么会用~~呵呵.麻烦高手,写段代码出来吧?我javascript太菜了 var sels = document.getElementsByTagName("select");var outValue = "";for(var i=0;i<sels.length;i++){var put = document.getElementById("input_"+sels[i].id.split('_')[1]);outValue += "|"+ sels[i].value +";"+ put.value;} <form name="form1" method=post action="处理的页面.asp"> <select name="select_0"> <option value="第一个" selected>第一个 </option> <option value="第二个">第二个 </option> <option value="第三个">第三个 </option> </select> <input name="input_0" id="input_0" value="NO1"> <br>---------------------------------------- <br><select name="select_1"> <option value="第一个">第一个 </option> <option value="第二个" selected>第二个 </option> <option value="第三个">第三个 </option> </select> <input name="input_1" id="input_1" value="NO2"> <br>------------------------------------------ <br><select name="select_2"> <option value="第一个">第一个 </option> <option value="第二个">第二个 </option> <option value="第三个" selected>第三个 </option> </select> <input name="input_2" id="input_2" value="NO3"> <br>-------------------------------------- <br><input name="Submit" type="submit" value="add" onclick="showValue()" /> </form><script>function showValue(){ var arr=document.form1.elements; var values=""; for(var i=0;i<arr.length;i++) { values+=(arr[i].value+" "); } alert(values);}</script> 上边的类型检查没有判断,你判断下类型是不是select和input,不是就continue; 兄弟们,我没别的要求了,只要能把值读出来就成了!!我就想,能不能遍历select_及input_开头的元素!这样的话,就爽歪歪了! 那你先byTagName 再遍历一次ID不就好了 这样就可以区分是不是不属于这个类别的SELECT了。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><script type="text/javascript"> function getValue(){ var oForm = document.forms[0]; var oSelect = oForm.getElementsByTagName('select') var oInputs = oForm.getElementsByTagName('input') var sleValue = []; var inputValue = []; var newArr = []; for(var i = 0,n = oSelect.length; i<n; i++){ var opt = oSelect[i].getElementsByTagName('option'); for(var j = 0,m = opt.length; j<m; j++){ if(opt[j].selected){ sleValue.push(opt[j].value); } } } for(var i = 0,n = oInputs.length; i<n; i++){ if(oInputs[i].type != "submit"){ inputValue.push(oInputs[i].value); } } for(var i = 0,n=sleValue.length; i<n; i++){ newArr[i] = sleValue[i] + ';' + inputValue[i] + '|'; } alert(newArr.join('')); }</script></head><body><form name=form method=post action="处理的页面.asp"> <select name="select_0"> <option value="第一个" selected>第一个 </option> <option value="第二个">第二个 </option> <option value="第三个">第三个 </option> </select> <input name="input_0" id="input_0" value="NO1"> <select name="select_1"> <option value="第一个">第一个 </option> <option value="第二个" selected>第二个 </option> <option value="第三个">第三个 </option> </select> <input name="input_1" id="input_1" value="NO2"> <select name="select_2"> <option value="第一个">第一个 </option> <option value="第二个">第二个 </option> <option value="第三个" selected>第三个 </option> </select> <input name="input_2" id="input_2" value="NO3"> <input name="Submit" type="submit" value="add" onclick="getValue(); return false"/> </form> </body></html>效果大概上实现了,可能代码不够精简,我也是个新手. "关键,不清楚,怎么读出动态生成的select & input的值,而且,input_1 到 input_10不一定是顺序排列的,可能删除了input_4,input_6 "input_1 与 select_1 中的数据“1”是不是同步的如果是的话可以把上面的ID修改为同一个名字就可以操作数组了。 帮忙推荐一个js树控件 [关于正则表达式]看谁能写出最简单的!!!! 赋值出错? 如何在IE6捕获点击右上角×来关闭窗口的事件? 采用这个方法记录的值,在JSP用什么方式才能获取得到? 打印 [求助]firefox不支持document.frames怎么办? 怎样用JS调用.exe和.bat文件? 有没有类似树状控件的JavaScript代码 我把<select>设为disabled=true却怎么也回复不了,怎么办? 求西班牙语字符的unicode 范围 高手请留步,VML画线如何在正确的显示在图片上?
ID其实是没有规律的,因为是动态生成的select&input,所以就可以删除
上面也说了,我也知道用id好,就是不怎么会用~~呵呵.
麻烦高手,写段代码出来吧?我javascript太菜了
var outValue = "";
for(var i=0;i<sels.length;i++)
{
var put = document.getElementById("input_"+sels[i].id.split('_')[1]);
outValue += "|"+ sels[i].value +";"+ put.value;
}
<form name="form1" method=post action="处理的页面.asp"> <select name="select_0">
<option value="第一个" selected>第一个 </option>
<option value="第二个">第二个 </option>
<option value="第三个">第三个 </option>
</select>
<input name="input_0" id="input_0" value="NO1"> <br>
---------------------------------------- <br>
<select name="select_1">
<option value="第一个">第一个 </option>
<option value="第二个" selected>第二个 </option>
<option value="第三个">第三个 </option>
</select>
<input name="input_1" id="input_1" value="NO2"> <br>
------------------------------------------
<br>
<select name="select_2">
<option value="第一个">第一个 </option>
<option value="第二个">第二个 </option>
<option value="第三个" selected>第三个 </option>
</select>
<input name="input_2" id="input_2" value="NO3"> <br>
--------------------------------------
<br>
<input name="Submit" type="submit" value="add" onclick="showValue()" />
</form>
<script>
function showValue()
{
var arr=document.form1.elements;
var values="";
for(var i=0;i<arr.length;i++)
{
values+=(arr[i].value+" ");
}
alert(values);
}
</script>
我就想,能不能遍历select_及input_开头的元素!
这样的话,就爽歪歪了!
这样就可以区分是不是不属于这个类别的SELECT了。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
function getValue(){
var oForm = document.forms[0];
var oSelect = oForm.getElementsByTagName('select')
var oInputs = oForm.getElementsByTagName('input')
var sleValue = [];
var inputValue = [];
var newArr = [];
for(var i = 0,n = oSelect.length; i<n; i++){
var opt = oSelect[i].getElementsByTagName('option');
for(var j = 0,m = opt.length; j<m; j++){
if(opt[j].selected){
sleValue.push(opt[j].value);
}
}
}
for(var i = 0,n = oInputs.length; i<n; i++){
if(oInputs[i].type != "submit"){
inputValue.push(oInputs[i].value);
}
}
for(var i = 0,n=sleValue.length; i<n; i++){
newArr[i] = sleValue[i] + ';' + inputValue[i] + '|';
}
alert(newArr.join(''));
}
</script>
</head><body>
<form name=form method=post action="处理的页面.asp"> <select name="select_0">
<option value="第一个" selected>第一个 </option>
<option value="第二个">第二个 </option>
<option value="第三个">第三个 </option>
</select>
<input name="input_0" id="input_0" value="NO1"> <select name="select_1">
<option value="第一个">第一个 </option>
<option value="第二个" selected>第二个 </option>
<option value="第三个">第三个 </option>
</select>
<input name="input_1" id="input_1" value="NO2"> <select name="select_2">
<option value="第一个">第一个 </option>
<option value="第二个">第二个 </option>
<option value="第三个" selected>第三个 </option>
</select>
<input name="input_2" id="input_2" value="NO3"> <input name="Submit" type="submit" value="add" onclick="getValue(); return false"/>
</form> </body>
</html>
效果大概上实现了,可能代码不够精简,我也是个新手.