switch无效,总是执行 default:

mzli 2007-09-29 02:33:59
出发chkcz()函数的是select菜单中的onchange(),现在存在的错误是,switch无效,总是执行 default:结果


<select name="btype" id="btype" onchange="chkcz()">
<option selected="selected">请选择</option>
<option value="3D">3D</option>
<option value="2B">2B</option>
<option value="367">367</option>
<option value="265">265</option>
</select>


function chkcz()
{
var czs=document.form1.btype.value;
switch (czs) {
case '3D':
document.form1.award12.value='1000';
document.form1.award22.value='';
document.form1.award32.value='';
document.form1.award42.value='';
document.form1.award52.value='';
document.form1.award62.value='';
document.form1.award72.value='';
case '2B':
document.form1.award12.value='5,000,000';
document.form1.award22.value='';
document.form1.award32.value='3000';
document.form1.award42.value='200';
document.form1.award52.value='10';
document.form1.award62.value='5';
document.form1.award72.value='';
case '367':
document.form1.award12.value='';
document.form1.award22.value='';
document.form1.award32.value='';
document.form1.award42.value='500';
document.form1.award52.value='100';
document.form1.award62.value='10';
document.form1.award72.value='46';
case '265':
document.form1.award12.value='';
document.form1.award22.value='50';
document.form1.award32.value='';
document.form1.award42.value='';
document.form1.award52.value='';
document.form1.award62.value='';
document.form1.award72.value='';
default:
document.form1.award12.value='';
document.form1.award22.value='';
document.form1.award32.value='';
document.form1.award42.value='';
document.form1.award52.value='';
document.form1.award62.value='';
document.form1.award72.value='';
}
}
</script>

...全文
323 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
eduxh 2007-09-29
  • 打赏
  • 举报
回复
解决了记得结贴,谢谢!
s_liangchao1s 2007-09-29
  • 打赏
  • 举报
回复
var czs=document.form1.btype.value;下拉菜单取值错误,所以没有对应值 就一直defalut

var obj=document.getElementById("btype");
var czs=obj.options[obj.selectedIndex].text;//用这两句取值
elvis_gao 2007-09-29
  • 打赏
  • 举报
回复
switch (czs) {
case '3D':
document.form1.award12.value='1000';
document.form1.award22.value='';
document.form1.award32.value='';
document.form1.award42.value='';
document.form1.award52.value='';
document.form1.award62.value='';
document.form1.award72.value='';
break;
case '2B':
document.form1.award12.value='5,000,000';
document.form1.award22.value='';
document.form1.award32.value='3000';
document.form1.award42.value='200';
document.form1.award52.value='10';
document.form1.award62.value='5';
document.form1.award72.value='';
break;
case '367':
document.form1.award12.value='';
document.form1.award22.value='';
document.form1.award32.value='';
document.form1.award42.value='500';
document.form1.award52.value='100';
document.form1.award62.value='10';
document.form1.award72.value='46';
break;
case '265':
document.form1.award12.value='';
document.form1.award22.value='50';
document.form1.award32.value='';
document.form1.award42.value='';
document.form1.award52.value='';
document.form1.award62.value='';
document.form1.award72.value='';
break;
default:
document.form1.award12.value='';
document.form1.award22.value='';
document.form1.award32.value='';
document.form1.award42.value='';
document.form1.award52.value='';
document.form1.award62.value='';
document.form1.award72.value='';
break;
不加break;将匹配的case 开始执行,直到default,所以最后的结果是:
document.form1.award12.value='';
document.form1.award22.value='';
document.form1.award32.value='';
document.form1.award42.value='';
document.form1.award52.value='';
document.form1.award62.value='';
document.form1.award72.value='';
elvis_gao 2007-09-29
  • 打赏
  • 举报
回复
switch (czs) {
case '3D':
document.form1.award12.value='1000';
document.form1.award22.value='';
document.form1.award32.value='';
document.form1.award42.value='';
document.form1.award52.value='';
document.form1.award62.value='';
document.form1.award72.value='';
break;
case '2B':
document.form1.award12.value='5,000,000';
document.form1.award22.value='';
document.form1.award32.value='3000';
document.form1.award42.value='200';
document.form1.award52.value='10';
document.form1.award62.value='5';
document.form1.award72.value='';
break;
case '367':
document.form1.award12.value='';
document.form1.award22.value='';
document.form1.award32.value='';
document.form1.award42.value='500';
document.form1.award52.value='100';
document.form1.award62.value='10';
document.form1.award72.value='46';
break;
case '265':
document.form1.award12.value='';
document.form1.award22.value='50';
document.form1.award32.value='';
document.form1.award42.value='';
document.form1.award52.value='';
document.form1.award62.value='';
document.form1.award72.value='';
break;
default:
document.form1.award12.value='';
document.form1.award22.value='';
document.form1.award32.value='';
document.form1.award42.value='';
document.form1.award52.value='';
document.form1.award62.value='';
document.form1.award72.value='';
break;
不加break;将匹配的case 开始执行,直到default,所以最后的结果是:
document.form1.award12.value='';
document.form1.award22.value='';
document.form1.award32.value='';
document.form1.award42.value='';
document.form1.award52.value='';
document.form1.award62.value='';
document.form1.award72.value='';
eduxh 2007-09-29
  • 打赏
  • 举报
回复
语法错误:

switch (czs) {
case '3D':

break;
case '2B':

break;
default :

break;
}
mzli 2007-09-29
  • 打赏
  • 举报
回复
晕,解决了,原来是没有加入break:
eduxh 2007-09-29
  • 打赏
  • 举报
回复
你可以输出document.form1.btype.value看看是什么再说

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧