我试图通过全局数组(在升序函数中)为div赋值。但是在升序函数中数组总是空的。还请提及本案例中的最佳做法。 我希望在一个函数中设置一个数组,而在另一个函数中我希望使用相同的填充数组。但在输入所有值后,我发现页面得到刷新,分配给数组和Hidden1字段的值再次设置为空。
<html>
<head>
<script type="text/javascript">
var array = new Array();
function get_strings(m)
{
i = 1;
do
{
var ArrayElement=prompt("Please Enter a Number");
i++;
array.push(ArrayElement);
}
while (i <= m);
document.getElementById('print').InnerHtml = array;
document.getElementById('Hidden1').value = array;
};
</script>
<script>
function ascending()
{
var x = document.getElementById('Hidden1').value;
document.getElementById('print').InnerHtml = x;
};
</script>
</head>
<body>
<h2>Enter Number of elements</h2>
<br /><br />
<form>
<input id="Hidden1" type="hidden" value="" />
<input id="num" type="text" name="elements"> <br> <input type="submit" value="Submit" text= "Take Input" onclick="get_strings(document.getElementById('num').value)">
<br />
<input type="submit" value="Ascending" text= "Ascending" onclick="ascending()">
</form>
<div id="print"></div>
</body>
</html>
答案 0 :(得分:0)
页面已刷新,因为您单击了提交按钮,这只是单击提交按钮时的基本所需行为。这提出了一个问题,您是否打算将此值提交给后端?如果是这样,你需要做的是让你的后端在表单POST后返回值。 如果您不打算提交此值,请使用常规按钮而不是提交按钮。