document.getElementById在IE中运行报错

jamseyang 2011-01-24 02:25:24
以下代码在FireFox、Chrome中运行OK,但在IE中报错

<html>
<head><title>Simple Add Function</title>
<script language="javascript">
function AddFun()
{
num1 = document.getElementById("num1").value;
num2 = document.getElementById("num2").value;
sum =parseFloat(num1)+parseFloat(num2);
alert(sum);
}
</script>
</head>
<body>
<input name="num1" id="num1" type="text" value=""/>
+
<input name="num2" id="num2" type="text" value=""/>
<input name="equals" type="button" value=" = " onclick="AddFun()">
</body>
</html>
...全文
553 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
cmrika 2013-09-05
  • 打赏
  • 举报
回复
在IE下面如果不加form的话就会提示“对象不支持此属性和方法”,加了form就OK了,另外定义变量的时候加var 也可以解决
jamseyang 2011-01-25
  • 打赏
  • 举报
回复
第一次来“Web 开发-JavaScript”板块发帖,大家都好热情哦,好鸡冻!
hch126163 2011-01-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 cj205 的回复:]

在IE下
num1和num2代表着name为num1和num2的2个input控件。当你不使用var来定义变量时,就会把num1当作input dom来看
HTML code

<html>
<head><title>Simple Add Function</title>
<script language="javascript">
func……
[/Quote]

+1

加 关键字 var 就可以了
仲兴轩 2011-01-25
  • 打赏
  • 举报
回复
mysql--

select *
from sale s
where substring(s.th, 3, length(s.th)-2)=substring(s.mc, 3, length(s.mc)-2);

wan
opmic 2011-01-25
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 java_pengjin 的回复:]
在IE下
num1和num2代表着name为num1和num2的2个input控件。当你不使用var来定义变量时,就会把num1当作input dom来看
[/Quote]

今天涨了见识,果然
jamespengo 2011-01-25
  • 打赏
  • 举报
回复
在IE下
num1和num2代表着name为num1和num2的2个input控件。当你不使用var来定义变量时,就会把num1当作input dom来看
rebecca_net 2011-01-25
  • 打赏
  • 举报
回复
大家都很积极啊
浴火_凤凰 2011-01-25
  • 打赏
  • 举报
回复
可惜头像不是本人呢啊
maiker 2011-01-25
  • 打赏
  • 举报
回复
漂亮的头像,人家回帖就要积极些
tangzhulao 2011-01-25
  • 打赏
  • 举报
回复
<html>
<head><title>Simple Add Function</title>
<script language="javascript">
function AddFun()
{
var num1 = document.getElementById("num1").value;
var num2 = document.getElementById("num2").value;
var sum =parseFloat(num1)+parseFloat(num2);
alert(sum);
}
</script>
</head>
<body>
<input name="num1" id="num1" type="text" value=""/>
+
<input name="num2" id="num2" type="text" value=""/>
<input name="equals" type="button" value=" = " onclick="AddFun()">
</body>
</html>

1.对比可知道,你在声明变量时候,没有用JavaScript关键字var!~
2.在一般情况下,写脚本都是采用<script type="text/javascript">....</script>
yuanyue0540 2011-01-24
  • 打赏
  • 举报
回复
变量要先声明在使用。还有就是加个form因为为表单
养成一个号的习惯吧!@
leelin2010 2011-01-24
  • 打赏
  • 举报
回复
要养成好习惯:
将<script language="javascript"></script>改成<script type="text/javascript"></script>
对变量要先声明后使用。。。。
bingfengsa 2011-01-24
  • 打赏
  • 举报
回复
做到每个变量都先申明··
greatmind829 2011-01-24
  • 打赏
  • 举报
回复
先定义,后调用 。。。
仲兴轩 2011-01-24
  • 打赏
  • 举报
回复
function AddFun()
{
var num1 = document.getElementById("num1").value;
var num2 = document.getElementById("num2").value;
var sum = parseFloat(num1)+parseFloat(num2);
alert(sum);
}

加var 声明
gonglil 2011-01-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 guhongpkmaomao 的回复:]

声明变量的时候注意养成加 var 的好习惯哈
[/Quote]
的确在IE下面申明变量要用var,有的浏览器如firefox它会把有些错误给智能的忽略掉的。
bjliuzg 2011-01-24
  • 打赏
  • 举报
回复
下次可以尝试用 document.all.num1.value取值,
不过问题的原因还是出在 num1和num2没有再次被申明,那样num1和num2代表name为num1和num2的2个input控件,所以报对象不支持此属性或方法。
ruisheng_412 2011-01-24
  • 打赏
  • 举报
回复
<script type="text/javascript">
jamseyang 2011-01-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 andrewsway 的回复:]

另外我说下,不要拿我妹妹的照片做头像,建议您换下,真的谢谢了
[/Quote]
呵呵,我会考虑的
dataminer_2007 2011-01-24
  • 打赏
  • 举报
回复
申明变量

PLMM,呵呵
加载更多回复(7)

87,992

社区成员

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

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