全局数组值分配问题

Global Arrays value assigning issue

本文关键字:问题 分配 数组 全局      更新时间:2023-09-26

我试图通过全局数组(升序函数)分配值给div。但是在升序函数中数组总是空的。还请提及在这种情况下的最佳实践。我希望在一个函数中设置一个数组,而在另一个函数中,我希望使用相同的填充数组。但是在输入所有值后,我发现页面得到刷新,分配给array和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>

页面刷新是因为你点击了提交按钮,这是点击提交按钮时最基本的行为。这就带来了一个问题,您是否打算将这个值提交到后端?如果是这样,您需要做的是让后端在表单POST之后返回值。如果你不打算提交这个值,那么使用一个普通的按钮来代替一个提交按钮。