先看下面的一段代码:
function output()
{
document.write(document.login.username.value+ "<br />");
document.write(document.login.password.value+ "<br />");
}
调用该函数后,发现只能输出用户名的信息,却没有输出想要的密码。
再看下面的一段代码
function output()
{
var username = document.login.username.value;
var password = document.login.password.value;
document.write(username + "<br />");
document.write(password + "<br />");
}
发现用户名和密码都已经输出了。为什么?
document.write 产生一个文档输出流,可以理解为document重新写入信息了,之前的信息就全被覆盖了,document.write(document.login.username.value+ "<br />"),document.login.username.value能取到,但是执行完write函数后,document已经赋了新的内容了,所以document.login.password.value的值就已经被冲掉了。解决方法可以用第二段代码的例子,先把希望得到的信息取出来,然后再输出就可以了。