当前位置:编程学习 > JS >>

这段 javascript 代码在firefox浏览器下错误,IE下可以的,怎么改正后都支持?

<script language="javascript"> function dataCal(n){ var shum=0; var sum=0; var str = ""; var obj = document.AddUserForm.elements["items[]"][n] obj.checked = true; shum+=parseFloat(obj.shu); sum+=parseFloat(obj.dingid*document.getElementById('b'+n).value); str += obj.value+"×"+document.getElementById('b'+n).value+document.getElementById('b'+n).unit+","; document.AddUserForm.shu.value=+shum; document.AddUserForm.jieguo.value=+sum; document.AddUserForm.guo.value=str; alert("您当前已选购:"+str+"总价为: "+sum+" 元"); } </script> <form name=AddUserForm method="POST" action="form.asp"> <table border="1" align="center" cellpadding="3" width="100%"> <tr bgColor="#dee3e7"> <td align="center">选择类型</td> <td align="center">金额</td> <td align="center">数量</td> <td align="center">选择</td> </tr> <tr> <td align="center">月卡</td> <td align="center">100元/月</td> <td align="center"><select size="1" name="a0" id='b0' unit="月" onchange="dataCal(0);"> <option value="1" selected>1 月</option> <option value="2">2 月</option> <option value="3">3 月</option> <option value="4">4 月</option> <option value="5">5 月</option> <option value="6">6 月</option> <option value="7">7 月</option> <option value="8">8 月</option> <option value="9">9 月</option> <option value="10">10月</option> <option value="11">11月</option> </select></td> <td align="center"><input type="radio" value="购买月卡" name="items[]" onclick="dataCal(0)" dingid="100" shu="1"></td> </tr> <tr> <td align="center">年卡</td> <td align="center">900元/年</td> <td align="center"><select size="1" name="a1" id='b1' unit="年" onchange="dataCal(1);"> <option value="1" selected>1 年</option> <option value="2">2 年</option> <option value="3">3 年</option> <option value="5">5 年</option> <option value="10">10年</option> <option value="20">20年</option> </select></td> <td align="center"><input type="radio" value="购买年卡" name="items[]" onclick="dataCal(1)" dingid="900" shu="2"></td> </tr> <tr> <td align="center" colspan="4"><input type="hidden" name="jieguo" value="0" ><input type="hidden" name="shu" value="" ><input type="hidden" name="guo" value=""><input type="hidden" name="save" value=1><input type="submit" value="提交"></td> </tr> </table></form>
追问:还有一个shu="1"出错,用什么html自带属性替换shu呢?谢谢!

这句改成测试:
alert("您当前已选购:"+str+"总价为: "+sum+" 元  shu值:"+shum+" ");

shu得不到?
答案:<script language="javascript">
function dataCal(n){
var shum=0;
var sum=0;
var str = "";
var obj = document.AddUserForm.elements["items[]"][n]
obj.checked = true;
shum+=parseFloat(obj.shu);
sum+=parseFloat(obj.alt*document.getElementById('b'+n).value);
str += obj.value+"×"+document.getElementById('b'+n).value+document.getElementById('b'+n).title+",";
document.AddUserForm.shu.value=+shum;
document.AddUserForm.jieguo.value=+sum;  
document.AddUserForm.guo.value=str;
alert("您当前已选购:"+str+"总价为: "+sum+" 元");
}
</script>
<form name=AddUserForm method="POST" action="form.asp">
<table border="1" align="center" cellpadding="3" width="100%">
<tr bgColor="#dee3e7">
<td align="center">选择类型</td>
<td align="center">金额</td>
<td align="center">数量</td>
<td align="center">选择</td>
</tr>
<tr>
<td align="center">月卡</td>
<td align="center">100元/月</td>
<td align="center"><select size="1" name="a0" id='b0' title="月" onchange="dataCal(0);">
<option value="1" selected>1 月</option>
<option value="2">2 月</option>
<option value="3">3 月</option>
<option value="4">4 月</option>
<option value="5">5 月</option>
<option value="6">6 月</option>
<option value="7">7 月</option>
<option value="8">8 月</option>
<option value="9">9 月</option>
<option value="10">10月</option>
<option value="11">11月</option>
</select></td>
<td align="center"><input type="radio" value="购买月卡" name="items[]" onclick="dataCal(0)" alt="100" shu="1"></td>
</tr>
<tr>
<td align="center">年卡</td>
<td align="center">900元/年</td>
<td align="center"><select size="1" name="a1" id='b1' title="年" onchange="dataCal(1);">
<option value="1" selected>1 年</option>
<option value="2">2 年</option>
<option value="3">3 年</option>
<option value="5">5 年</option>
<option value="10">10年</option>
<option value="20">20年</option>
</select></td>
<td align="center"><input type="radio" value="购买年卡" name="items[]" onclick="dataCal(1)" alt="900" shu="2"></td>
</tr>
<tr>
<td align="center" colspan="4"><input type="hidden" name="jieguo" value="0" ><input type="hidden" name="shu" value="" ><input type="hidden" name="guo" value=""><input type="hidden" name="save" value=1><input type="submit" value="提交"></td>
</tr>
</table></form>

将里面的“unit”更改为“title”,“dingid”更改为“alt”。尽量用html自带属性。我这里IE和火狐测试通过。

上一个:javascript function(event),为什么在function括号写个event啊,不明白
下一个:javascript 读取cookies的问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,