【发布时间】:2015-01-19 06:56:04
【问题描述】:
<!DOCTYPE html>
<html>
<HEAD>
<meta charset="utf-8" />
<script language= "javascript">
var array1 = new Array();
function display1()
{
var guest_input = array1;
var input1;
var input2;
var input3;
input1 = document.form1.msg1.value;
input2 = document.form1.msg2.value;
input3 = document.form1.msg3.value;
guest_input[0]=input1;
guest_input[1]=input2;
guest_input[2]=input3;
for (var i=0; i<array1.length; i++)
{
document.write("<ul><li>" +array1[i]+ "</li></ul>");
}
}
</script>
</HEAD>
<BODY>
<form name="form1">
Type in msg 1 : <input type="text" name="msg1"><br>
Type in msg 2 : <input type="text" name="msg2"><br>
Type in msg 3 : <input type="text" name="msg3"><br>
</form>
<input type="button" value="Go!" name="button1" onclick="display1()">
</BODY>
这是非常简单、非常基本的代码。我只想在我做更多工作之前让这件作品工作。
我只是希望在单击按钮后无序列表出现在表单下方,但是为什么当我单击按钮时页面会刷新/清除表单?将其更改为
onclick="display1(); return false;"
不能解决问题。谢谢!
【问题讨论】:
-
您需要附加结果而不是覆盖整个文档。试试 appendChild
-
页面被 document.write 擦除。阅读更多w3schools.com/jsref/met_doc_write.asp
-
是因为document.write,它覆盖了文档的所有内容,通过查看页面源码可以看到。添加 div 之类的容器元素并将标记分配给它,请参见下面的修改代码。
标签: javascript arrays forms onclick