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

本文探讨了JavaScript中使用document.write输出表单数据时遇到的问题,并提供了解决方案。当连续使用document.write时,后面的写入会覆盖前面的内容,导致无法正确显示所有数据。文章通过实例对比展示了如何先获取数据再进行输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先看下面的一段代码:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值