"document.a,b3"为空或不是对象

<html><head><title>ex0501</title><scripttype="text/javascript"><!--functionjisuan(){v... <html>
<head>
<title>ex0501</title>
<script type="text/javascript">
<!--
function jisuan(){
var yue=parseInt(document.a.b1.value)-1;
var ri=parseInt(document.a.b2.value);
var now = new Date();
var shengri=new Date(now.getFullYear(),yue,ri,23,59,59,999);
var nowtime=now.getTime();
document.write(nowtime);
var shengritime=shengri.getTime();
var count=shengritime - nowtime;
if(count<0)
{count=count+365*24*60*60*1000;}
var tian=Math.ceil(count/(24*60*60*1000));
var xiaoshi=Math.ceil(count/(60*60*1000))-tian*24;
var fenzhong=Math.ceil(count/(60*1000))-tian*24*60-xiaoshi*60;
var miao=Math.ceil(count/1000)-tian*24*60*60-xiaoshi*60*60-fenzhong*60;
document.a.b3.value=tian+"天";
setTimeout("jisuan()",1000);
}
//-->
</script>
</head>
<body>
<form name="a">
你的生日是:
<input type="text" name="b1" size="4">月
<input type="text" name="b2" size="4">日
<input type="button" value="计算" onClick="jisuan();">
<br>据你的生日还有:
<input type="text" name="b3">
</form>
</body>
</html>

提示"document.a,b3"为空或不是对象,这是为什么?
展开
 我来答
草样年华q7k1U
2008-08-26 · 超过14用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:0
展开全部
document.write();
不要用这个方法,当你用这个方法setTimeout("jisuan()",1000);循环时,第一次打印了,第二次的时候,它会把document 对象清空,所以document.a.b3就为空了,或不是对象了

不要用document.write(nowtime);
可以用这种方式document.a.b4.value=nowtime;这样就没有问题了
或者用window.alert(nowtime);也可以

以下是比较专业的说法

在调用 write( ) 方法时,如果该文档不处于在调用 write( ) 方法时的打开和分析的过程中,该方法将打开并清除该文档,所以它可能是有危险的。该示例显示了一个每隔一分钟就显示时间的脚本,但是在第一次显示后由于它从过程中将自己清除,因此会导致失败。
新翼追风
2008-08-26 · TA获得超过1134个赞
知道小有建树答主
回答量:544
采纳率:0%
帮助的人:498万
展开全部
感觉document.all.b3是得不到这文本框的值,
document.all应该是一个数组,建议可以用以下两个方法得到

1.<input type="text" name="b3" id="id_1">
这样可以用document.getElementById("id_1").value得到这个文本框的值
2.如果一定不想加上id这个属性可以:
document.getElementsByName("b3")[0].value也是可以得到的,与ById区别在于这是返回数组的.

document.write(),这个方法应该会倒置每一秒加都会增加一行时间信息,当然也有可能只运行第一次后就会直接报错不动了,具体原因说不上来.建议换成innerHTML的方法来做,具体就不罗嗦了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hxw4656
2008-08-25
知道答主
回答量:40
采纳率:0%
帮助的人:24.3万
展开全部
不应该是 document.all.b3 吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式