JS问题求助,这段代码出错了
<formaction="?"method="post"enctype="multipart/form-data"name="form1"id="form1"onsubm...
<form action="?" method="post" enctype="multipart/form-data" name="form1" id="form1" onsubmit="setindex_left_right();">
<table>
<tr>
<td>
<select name='mszfg_style' onchange="change_mystyle(this);">
<option value='114la'>114啦风格</option>
<option value='2345' selected>2345导航</option>
<option value='default'>官方风格</option>
<option value='hao123'>好123</option>
</select>
<script language="javascript">
var style_key;//声明全局变量,因为下一个函数也用到这个变量
function change_mystyle(my){
style_key=my.options[my.selectedIndex].value;//style_key等于下拉选项的被鼠标选中的
for( var i=0;i<my.options.length;i++){//以选项总数循环
if(my.options[i].value!=='+style_key+'){//如果循环中的选项value值不是被鼠标选中的那个
var style_key[i]=my.options[i].value;
/*就给style_key[i]赋值为该选项的value值,style_key[i]读取后应该是style_key[1],style_key[2],style_key[3]这样的*/
document.getElementById('+style_key[i]+').style.display='none';//然后给id为style_key[i]的tr容器赋值
}
}
}
function setindex_left_right()
{
var mod_fgsz =document.getElementById("'+style_key+'");//给mod_fgsz赋值
for( var ii=0;ii<mod_fgsz.options.length;ii++){
mod_fgsz.options[ii].selected=" selected";
}
}
</script>
</td></tr>
<tr id="114la">
<td>333</td>
</tr>
<tr id="2345">
<td>4444</td></tr>
<tr id="default">
<td>4444</td></tr>
<tr id="hao123">
<td>4444</td></tr>
<tr>
<td><input type="submit" name="button" id="button" value="保 存" />
</td>
</tr>
</table> </form>
错了,下一个函数应该是这样的
function setindex_left_right()
{
var mod_'+style_key+' =document.getElementById("index_'+style_key+'");
for( var ii=0;ii<mod_'+style_key+'.options.length;ii++){
mod_'+style_key+'.options[ii].selected=" selected";
}
} 展开
<table>
<tr>
<td>
<select name='mszfg_style' onchange="change_mystyle(this);">
<option value='114la'>114啦风格</option>
<option value='2345' selected>2345导航</option>
<option value='default'>官方风格</option>
<option value='hao123'>好123</option>
</select>
<script language="javascript">
var style_key;//声明全局变量,因为下一个函数也用到这个变量
function change_mystyle(my){
style_key=my.options[my.selectedIndex].value;//style_key等于下拉选项的被鼠标选中的
for( var i=0;i<my.options.length;i++){//以选项总数循环
if(my.options[i].value!=='+style_key+'){//如果循环中的选项value值不是被鼠标选中的那个
var style_key[i]=my.options[i].value;
/*就给style_key[i]赋值为该选项的value值,style_key[i]读取后应该是style_key[1],style_key[2],style_key[3]这样的*/
document.getElementById('+style_key[i]+').style.display='none';//然后给id为style_key[i]的tr容器赋值
}
}
}
function setindex_left_right()
{
var mod_fgsz =document.getElementById("'+style_key+'");//给mod_fgsz赋值
for( var ii=0;ii<mod_fgsz.options.length;ii++){
mod_fgsz.options[ii].selected=" selected";
}
}
</script>
</td></tr>
<tr id="114la">
<td>333</td>
</tr>
<tr id="2345">
<td>4444</td></tr>
<tr id="default">
<td>4444</td></tr>
<tr id="hao123">
<td>4444</td></tr>
<tr>
<td><input type="submit" name="button" id="button" value="保 存" />
</td>
</tr>
</table> </form>
错了,下一个函数应该是这样的
function setindex_left_right()
{
var mod_'+style_key+' =document.getElementById("index_'+style_key+'");
for( var ii=0;ii<mod_'+style_key+'.options.length;ii++){
mod_'+style_key+'.options[ii].selected=" selected";
}
} 展开
展开全部
document.getElementById('mm1').getElementsByTagName('li')这个得到的是一个DOM对象集合,是一个objNodeList。没有concat这个方法。
既然NodeList有length,可以for循环索引取值,转换成数组就很简单了。最直接的思路是这样的:
var arr = new Array();
var anchors = document.getElementsByTagName("a")
for (var i = 0; i < anchors.length; i++) {
var ele = anchors[i];
arr.push(ele); //arr就是我们要的数组
}
先new一个Array,遍历NodeList,然后将每一个单独的元素push到数组变量里,最后操作数组变量。就是用你说的concat方法。可以参见。
既然NodeList有length,可以for循环索引取值,转换成数组就很简单了。最直接的思路是这样的:
var arr = new Array();
var anchors = document.getElementsByTagName("a")
for (var i = 0; i < anchors.length; i++) {
var ele = anchors[i];
arr.push(ele); //arr就是我们要的数组
}
先new一个Array,遍历NodeList,然后将每一个单独的元素push到数组变量里,最后操作数组变量。就是用你说的concat方法。可以参见。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询