全局阵列值分配问题

时间:2014-07-10 17:55:25

标签: javascript arrays

我试图通过全局数组(在升序函数中)为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>

1 个答案:

答案 0 :(得分:0)

页面已刷新,因为您单击了提交按钮,这只是单击提交按钮时的基本所需行为。这提出了一个问题,您是否打算将此值提交给后端?如果是这样,你需要做的是让你的后端在表单POST后返回值。 如果您不打算提交此值,请使用常规按钮而不是提交按钮。