以下javascript在IE下有效,在百度浏览器等中无效,请教高手如何修改可以兼容所有浏览器?

pxkwd 2016-08-12 08:31:07

<html>
<head>
<title>收银台 - 结算</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
p{color:000000;FONT-FAMILY: "宋体"; font-size: 9pt ;line-height: 18px;}
a {color:#000000;FONT-FAMILY: "宋体"; font-size: 9pt ;text-decoration:none}
a:hover {color:red;text-decoration:underline;; FONT-FAMILY: "宋体"; font-size: 9pt}
-->
a:link {FONT-FAMILY: "宋体"; font-size: 9pt; color:#000000; text-decoration: none}
td { color:#0000000;FONT-FAMILY: "宋体"; font-size: 9pt ;line-height: 18px; } a:visited {FONT-FAMILY: "宋体"; font-size: 9pt; color:#000000}
-->
</style>
<script language="javascript">
function checkForm()
{
if (document.AddUserForm.shu.value=="")
{
alert("请先任意点击一条订单号码,再点击前面的选择框!");
}
else
if (document.AddUserForm.guo.value=="")
{
alert("请选择至少一个订单!");
}
else {
document.AddUserForm.submit();
}
}
function dataCal(){
var shum=0;
var sum=0;
var str = "";
var obj=document.getElementsByName("items[]"); //取得页面所有的items复选框对象
for(var i=0;i<obj.length;i++)
{
if(!obj[i].checked)
continue; //如果没有选中,则执行下一次
shum+=parseFloat(obj[i].shu); //如果被选中的话,则累加求和
sum+=parseFloat(obj[i].dingid); //如果被选中的话,则累加求和
str += obj[i].value;
}
AddUserForm.shu.value=+shum;
AddUserForm.jieguo.value=+sum;
AddUserForm.guo.value=str;
alert("您当前选择商品总价为:"+sum);
}
</script>

</head>

<body>
<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" width="755">
<tr>
<td>
<div align="center"><form name=AddUserForm METHOD="post" action="wdsyt.php?mid=admin">
<center>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><font color="#008000">未处理订单:</font>
<div align="center">
<center>
<table border="1" cellspacing="0" width="800">
<tr bgcolor="#e7e7e7">
<td align="center" width="30">选择</td>
<td align="center" width="60">订单号码</td>
<td align="center" width="60">商品编号</td>
<td align="center" width="245">名称</td>
<td align="center" width="50">单价(元)</td>
<td align="center" width="30">数量</td>
<td align="center" width="55">总价(元)</td>
<td align="center" width="90">订购时间</td>
<td align="center" width="150">备注</td>
<td align="center" width="30">状态</td>
</tr>
<tr bgcolor=#FFFFFF>
<td align=center><input type="checkbox" value="1470996571 " name="items[]" dingid="300.00" shu="3" onclick="dataCal()"></td>
<td align=center><a href="member_gwc.php?mid=&shangjiid=345"><font color=blue>
1470996571</font></a></td>
<td align=center>343 </td>
<td align=center><a href="wdxiangxi.php?mid=&detail=343" target="_blank"><font color=blue>
商品名称商品名称3512</font></a></td>
<td align=center>100.00</td>
<td align=center>3</td>
<td align=center>300.00</td>
<td align=center>2016-08-12 18:09</td>
<td align=center><textarea rows="3" name="srbeizhu" cols="18"></textarea></td>
<td align=center><a href="click.php?mid=admin&detail=343">改</a><br><a href="member_gwc.php?mid=admin&hktime=1470996571" onclick="javascript:if (!confirm('是否真的要删除该订单?删除后不能恢复哦!')) return false;">
删</a></td>
</tr><tr bgcolor=#e7e7e7>
<td align=center><input type="checkbox" value="1470995941 " name="items[]" dingid="95.00" shu="1" onclick="dataCal()"></td>
<td align=center><a href="member_gwc.php?mid=&shangjiid=345"><font color=blue>
1470995941</font></a></td>
<td align=center>345 </td>
<td align=center><a href="wdxiangxi.php?mid=&detail=345" target="_blank"><font color=blue>
商品名称商品名称7</font></a></td>
<td align=center>95.00</td>
<td align=center>1</td>
<td align=center>95.00</td>
<td align=center>2016-08-12 17:59</td>
<td align=center><textarea rows="3" name="srbeizhu" cols="18"></textarea></td>
<td align=center><a href="click.php?mid=admin&detail=345">改</a><br><a href="member_gwc.php?mid=admin&hktime=1470995941" onclick="javascript:if (!confirm('是否真的要删除该订单?删除后不能恢复哦!')) return false;">
删</a></td>
</tr>
</table>
</center>
</div>
</center> <br>第 1/1 页 上一页 下一页
<input type="hidden" name="jieguo" value="0" >
<input type="hidden" name="shu" value="" >
<input type="hidden" name="guo" value="">
<input type="hidden" name="shangjiid" value="" >
<input type="submit" value="现在就去付款" onclick="Javascripts:checkForm();return false;" style="color:#FD7625"> <input type="button" name="back" value="返回继续购物" onclick="document.location.href='wdwd.php?mid=admin'"> <input type="button" name="back" value="查看交易状态" onclick="document.location.href='shouru.php?mid=admin'">
</form>
<div align="center">
<table border="0" cellpadding="0" cellspacing="0" width="630">
<tr>
<td>注意:<br>
(1)同一店家的多个订单可以一起汇款。要想知道哪些订单属于同一店家可点击订单号码,同一店家订单会自动归类。<br>
(2)状态栏出现图标<img src="images/check.gif" width="15" height="15">代表店家已发货</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</center>
<br></div>
</body>
</html>
...全文
234 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pxkwd 2016-08-13
  • 打赏
  • 举报
回复
各种可能都试过了,还是不行,唉!
pxkwd 2016-08-13
  • 打赏
  • 举报
回复
引用 7 楼 crying_boy 的回复:
你自己尝试了几次?1次?2次?自己有认真的去想过吗?想学和不想学的区别,只有你自己明白!
受教了,但我真的试了无数次了,昨天一天解决不了才发贴求助的,后来你回了后,又试到现在,还是不行,主要没有基础,真的不好意思!不过真的感谢你的回复,谢谢!
泡泡鱼_ 2016-08-13
  • 打赏
  • 举报
回复
引用 6 楼 pxkwd 的回复:
[quote=引用 4 楼 qqq123 的回复:] 根据新规则: 1.带有name的HTML元素,会被映射为名为name值的window和document属性; 2.带有id的HTML元素,会被映射为名为id值的window属性; 所以,你可以直接通过name值AddUserForm访问映射的form元素,但是这样的映射是不可靠的,原因如下: 1. 老版本的IE不支持。// 引起,楼主出错的原因; 2. 属性映射位于window和document对象的原型链更深处,虽然这些属性不能被delete,但是可以被window和document上的同名属性覆盖掉。例如: Window.AddUserForm = {} // 用值为空对象的同名属性覆盖 // Error!这里AddUserForm就不是form元素了 delete Window.AddUserForm // 将覆盖属性删除 // OK !这里AddUserForm值又是form元素了 结论:id(name)的属性映射规则,作为调试还行,在正式代码中还是要用于:getElement... 或者 #(...);
我是新手,按你们说的调试了一下,还是不行,麻烦帮忙调试好后给我完整代码,谢谢![/quote] 这么基础的东东,真想学,试一次不行,试十次,十次不行就试一百次!别动不动就让别人给代码! 还有另一个贴子也是“不会啊,请给出代码,谢谢!”。说实话,我都不明白你不会什么?相关的代码你自己都写出来了,也告诉你了,就是将它挪个地方,你来个不会,请给出代码……我真的看的只能苦笑 你自己尝试了几次?1次?2次?自己有认真的去想过吗?想学和不想学的区别,只有你自己明白!
pxkwd 2016-08-13
  • 打赏
  • 举报
回复
引用 4 楼 qqq123 的回复:
根据新规则: 1.带有name的HTML元素,会被映射为名为name值的window和document属性; 2.带有id的HTML元素,会被映射为名为id值的window属性; 所以,你可以直接通过name值AddUserForm访问映射的form元素,但是这样的映射是不可靠的,原因如下: 1. 老版本的IE不支持。// 引起,楼主出错的原因; 2. 属性映射位于window和document对象的原型链更深处,虽然这些属性不能被delete,但是可以被window和document上的同名属性覆盖掉。例如: Window.AddUserForm = {} // 用值为空对象的同名属性覆盖 // Error!这里AddUserForm就不是form元素了 delete Window.AddUserForm // 将覆盖属性删除 // OK !这里AddUserForm值又是form元素了 结论:id(name)的属性映射规则,作为调试还行,在正式代码中还是要用于:getElement... 或者 #(...);
我是新手,按你们说的调试了一下,还是不行,麻烦帮忙调试好后给我完整代码,谢谢!
pxkwd 2016-08-13
  • 打赏
  • 举报
回复
引用 2 楼 theforever 的回复:
上面忘写了一个s,是这样的: document.AddUserForm. 和 AddUserForm. 都改成: document.getElementsByName('AddUserForm')[0].
麻烦帮改好将整体代码发下,我按你说的改了一下,还是不行,麻烦你了!谢谢!
qqq123 2016-08-12
  • 打赏
  • 举报
回复
根据新规则: 1.带有name的HTML元素,会被映射为名为name值的window和document属性; 2.带有id的HTML元素,会被映射为名为id值的window属性; 所以,你可以直接通过name值AddUserForm访问映射的form元素,但是这样的映射是不可靠的,原因如下: 1. 老版本的IE不支持。// 引起,楼主出错的原因; 2. 属性映射位于window和document对象的原型链更深处,虽然这些属性不能被delete,但是可以被window和document上的同名属性覆盖掉。例如: Window.AddUserForm = {} // 用值为空对象的同名属性覆盖 // Error!这里AddUserForm就不是form元素了 delete Window.AddUserForm // 将覆盖属性删除 // OK !这里AddUserForm值又是form元素了 结论:id(name)的属性映射规则,作为调试还行,在正式代码中还是要用于:getElement... 或者 #(...);
  • 打赏
  • 举报
回复
最好把form的name变成ID,然后用document.getElementsById去取。name适用于单选多选按钮等相似多个对象。
  • 打赏
  • 举报
回复
上面忘写了一个s,是这样的:

document.AddUserForm.

AddUserForm.
都改成:
document.getElementsByName('AddUserForm')[0].
  • 打赏
  • 举报
回复
document.AddUserForm.

AddUserForm.
都改成:
document.getElementByName('AddUserForm')[0].

87,919

社区成员

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

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