闲来无聊学学JS,想练习一下读取文本框的值,一次打印到界面上,但是发现了如下的问题,经过查询和思考,得到本文,先看代码:
<html>
<head>
<script type="text/javascript">
function show()
{
var a = document.getElementByIdx_x("txt1");
var b = document.getElementByIdx_x("txt2");
document.write(a.value);
document.write("<br />");
document.write(b.value);
//下面这句是对的
//document.write(a.value + "<br />" + b.value);
}
</script>
</head>
<body>
<form>
<input type = "text" id = "txt1" size = "20" /><br />
<input type = "text" id = "txt2" size = "20" /><br />
<input type = "button" value = "Start" onclick = "show()" />
</form>
</body>
</html>
看以上的JavaScript代码,原本是希望在文本框里输入值,然后打印在屏幕上,但是只要执行一定报错,而且只会打印第一行。这是为什么?
这和页面的加载方式有关系,第一次调用这个方法之后document就被清空了,所以不可能输出第二行了,因为加载已经完毕了,要么写个循环,应该就能输出了。
毕竟这是HTML页面,不像我们过去写C程序,这段代码就是一个一次加载。