永发信息网

JS问题请教

答案:2  悬赏:50  手机版
解决时间 2021-06-07 06:15
  • 提问者网友:辞取
  • 2021-06-06 17:28

第一种写法:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 获取当前时间 </TITLE>

<SCRIPT LANGUAGE="JavaScript">
<!--
function time1()
{
var time = new Date();
var hour = time.getHours();
var monutes = time.getMinutes();
var seconds = time.getSeconds();

if(monutes<10)
monutes = "0" + monutes;
if(seconds<10)
seconds = "0" + seconds;
document.write("现在时间:"); //与第二种写法不同的地方
document.getElementById("txtTime").value = hour + ":" + monutes + ":" + seconds;
document.getElementById("txtTime").style.backgroundColor="#accfed";
setTimeout("time1()", 1000);
}
//-->
</SCRIPT>

</HEAD>

<BODY onload="time1()">
现在时间:<INPUT TYPE="text" id="txtTime">
</BODY>
</HTML>

第二种写法:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 获取当前时间 </TITLE>

<SCRIPT LANGUAGE="JavaScript">
<!--
function time1()
{
var time = new Date();
var hour = time.getHours();
var monutes = time.getMinutes();
var seconds = time.getSeconds();

if(monutes<10)
monutes = "0" + monutes;
if(seconds<10)
seconds = "0" + seconds;

document.getElementById("txtTime").value = hour + ":" + monutes + ":" + seconds;
document.getElementById("txtTime").style.backgroundColor="#accfed";
setTimeout("time1()", 1000);
}
//-->
</SCRIPT>

</HEAD>

<BODY onload="time1()">
现在时间:<INPUT TYPE="text" id="txtTime">
</BODY>
</HTML>
为什么第一种写法有错误,错误如下:(请尽量详细讲解)

最佳答案
  • 五星知识达人网友:低音帝王
  • 2021-06-06 18:46

当onload执行的时侯,文档流就已经结束了


你在onload以后再执行document.write的时候就相当于新建了一个文档流,并覆盖当前的文档,所以后面的document.getElementById取不到值。因为在新文档中没有txtTime这个ID的元素。这一点在页面打开后你看源文件就可以发现。


document.write("现在时间:");


document.getElementById("txtTime").value = hour + ":" + monutes + ":" + seconds;


可以写成这样


document.getElementById("txtTime").value = "现在时间:" + hour + ":" + monutes + ":" + seconds;


或者用innerHTML写入也可以。


不能直接用document.write写入。

全部回答
  • 1楼网友:神鬼未生
  • 2021-06-06 19:12

document.form1.username.value="张三"

用这种方法就能访问一个input啊,我是吧改input的name和id都设置成username

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯