现在的位置: 首页 > 综合 > 正文

javascript中的document.write()函数引发的问题

2014年03月20日 ⁄ 综合 ⁄ 共 637字 ⁄ 字号 评论关闭

先看下面的一段代码:

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的值就已经被冲掉了。解决方法可以用第二段代码的例子,先把希望得到的信息取出来,然后再输出就可以了。

抱歉!评论已关闭.