先看下面的一段代码:
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的值就已经被冲掉了。解决方法可以用第二段代码的例子,先把希望得到的信息取出来,然后再输出就可以了。
本文探讨了JavaScript中使用document.write输出表单数据时遇到的问题,并提供了解决方案。当连续使用document.write时,后面的写入会覆盖前面的内容,导致无法正确显示所有数据。文章通过实例对比展示了如何先获取数据再进行输出。
2477

被折叠的 条评论
为什么被折叠?



