遇到一个很棘手的问题.... 搞不定有丢饭碗的可能..... 大家本着同为学计算机的兄弟,多帮忙.... 分不多,真要是解决了请您吃饭都没问题我要用php获取几个同名的下拉表单数据,php中的同名的表单名必须用数组如:name[]但是又要用javascript来做判断控制display, 当选择上一级下拉列表时,下面出现相应的第二级下拉列表。但是javascript中的获取同名数组时是自动取的,也就是只要 name 就可以了,不用后面的[]。而且会自动取成name(0) name(1) ..... 我设想javascript 用name[](i)的形式来处理。但是好像不行....javascript的函数为:function editban(){
for (var j = 0; j <= 2; j++)
{
document.article.'ban[]'(i).style.display="none" ;
}
if (document.article.newspaper.value == '01) document.article.'ban[]'(0).style.display="" ;
if (document.article.newspaper.value == '02) document.article.'ban[]'(1).style.display="" ;
if (document.article.newspaper.value == '03) document.article.'ban[]'(2).style.display="" ;
}php页的相关代码<form name="article" method="post" encType="multipart/form-data" action="edit.php" onsubmit="return checkedit()">
<select name="newspaper" size="1" onchange="return editban()">
<option value= "" > </option>
<option value= "01"> 01 </option>
<option value= "02"> 02 </option>
<option value= "03"> 03 </option>
</select> <select name="ban[]" size="1" style="display:none" >
<option value= ""> </option>
<option value= "01第一条" > 01第一版 </option>
<option value= "01第二条" > 01第二条 </option>
<option value= "01第三条" > 01第三条 </option>
</select>
<select name="ban[]" size="1" style="display:none">
<option value= ""> </option>
<option value= "02第一条" > 02第一版 </option>
<option value= "02第二条" > 02第二条 </option>
<option value= "02第三条" > 02第三条 </option>
</select>
<select name="ban[]" size="1" style="display:none">
<option value= ""> </option>
<option value= "03第一条" > 03第一版 </option>
<option value= "03第二条" > 03第二条 </option>
<option value= "03第三条" > 03第三条 </option>
</select><input class="bginput" accessKey="y" type="submit" value=" 提交 ">
</form>还有个检查是否已选择的小函数也有此问题var sum=0 ;
for (var j = 0; j <= 6; j++)
{ if(document.article.ban[](j).value == '')
{
sum=sum+j ;
if (sum>=21)
{
alert('请选择刊发到的版次.');
return false;
break;
}
}
}
有没有好的办法,javascript这边直接把ban[i]拿来用好像不行啊......急呀........
for (var j = 0; j <= 2; j++)
{
document.article.'ban[]'(i).style.display="none" ;
}
if (document.article.newspaper.value == '01) document.article.'ban[]'(0).style.display="" ;
if (document.article.newspaper.value == '02) document.article.'ban[]'(1).style.display="" ;
if (document.article.newspaper.value == '03) document.article.'ban[]'(2).style.display="" ;
}php页的相关代码<form name="article" method="post" encType="multipart/form-data" action="edit.php" onsubmit="return checkedit()">
<select name="newspaper" size="1" onchange="return editban()">
<option value= "" > </option>
<option value= "01"> 01 </option>
<option value= "02"> 02 </option>
<option value= "03"> 03 </option>
</select> <select name="ban[]" size="1" style="display:none" >
<option value= ""> </option>
<option value= "01第一条" > 01第一版 </option>
<option value= "01第二条" > 01第二条 </option>
<option value= "01第三条" > 01第三条 </option>
</select>
<select name="ban[]" size="1" style="display:none">
<option value= ""> </option>
<option value= "02第一条" > 02第一版 </option>
<option value= "02第二条" > 02第二条 </option>
<option value= "02第三条" > 02第三条 </option>
</select>
<select name="ban[]" size="1" style="display:none">
<option value= ""> </option>
<option value= "03第一条" > 03第一版 </option>
<option value= "03第二条" > 03第二条 </option>
<option value= "03第三条" > 03第三条 </option>
</select><input class="bginput" accessKey="y" type="submit" value=" 提交 ">
</form>还有个检查是否已选择的小函数也有此问题var sum=0 ;
for (var j = 0; j <= 6; j++)
{ if(document.article.ban[](j).value == '')
{
sum=sum+j ;
if (sum>=21)
{
alert('请选择刊发到的版次.');
return false;
break;
}
}
}
有没有好的办法,javascript这边直接把ban[i]拿来用好像不行啊......急呀........
<select id="selectban" name="ban[]" size="1" style="display:none" >
<option value= ""> </option>
<option value= "01第一条" > 01第一版 </option>
<option value= "01第二条" > 01第二条 </option>
<option value= "01第三条" > 01第三条 </option>
</select>
<select id="selectban" name="ban[]" size="1" style="display:none">
<option value= ""> </option>
<option value= "02第一条" > 02第一版 </option>
<option value= "02第二条" > 02第二条 </option>
<option value= "02第三条" > 02第三条 </option>
</select>
<select id="selectban" name="ban[]" size="1" style="display:none">
<option value= ""> </option>
<option value= "03第一条" > 03第一版 </option>
<option value= "03第二条" > 03第二条 </option>
<option value= "03第三条" > 03第三条 </option>
</select> 然后在javascript中通过document.getElementsByName就可以输出值:for(i=0;i<document.getElementsByName("selectban").length;i++){
alert(document.getElementsByName("selectban")[i].value);
}
还有就是id在一个页面中最好是 唯一的。比较符合标准。对于名称相同的。可以用 楼上说的
getElementsByName()获取 。
document.getElementsByName("selectban")[i].style.display=''表单就显示
for(i=0;i<obj.length;i++)
{
alert(obj[i].value);
}