在 asp-classic 中使用 javascript 变量

Use javascript variable in asp-classic

我想知道如何解决以下问题:

我有一个数组 - 在 asp 经典

 objArray

我在 javascript 中循环使用它。问题是当我在 javascript 代码中时如何访问 asp 数组中的各个元素,并为其使用变量。在 Javascript 中,如果我使用整数,我可以很容易地从 asp 数组中获取一个单独的元素,例如:

var theString = '<%=objArray[3]%>';

也就是第4个位置的元素。

但是 - 在 javascript 中的循环中 - 我需要使用变量 'i' 来获取元素 - 但由于它的 asp,我该怎么做呢?请参阅下面的代码。

 <script type="text/javascript">

    var arrayLen = '<%=nObjects%>'

    for (var i = 0; i < arrayLen; i++) {

       var y = document.createElement("label");

       y.innerHTML = '<%=objArray(i)%>'; // this doesnt work since asp doesnt recognice the variable i

       document.body.appendChild(y);

     }

  </script>

您在代码中遗漏了 length:

<script type="text/javascript">

    var arrayLen = '<%=nObjects%>';

    for (var i = 0; i < arrayLen.length; i++) {

       var y = document.createElement("label");

       y.innerHTML = 'arrayLen(i)'; 

       document.body.appendChild(y);

     }

  </script>

由于您在服务器端拥有数组,因此您可以在 ASP 代码本身中进行循环:

<%
Dim objArray : objArray = Array(1,2,3,4,5)
Dim i
%>
<script type="text/javascript">

var y;
<%
   for i=0 to UBound(objArray)
%>

       y = document.createElement("label");
       y.innerHTML = "<%=objArray(i)%>"; 
       y.id="label_<%=objArray(i)%>";
       document.body.appendChild(y);
<%
next
%>

     document.getElementById("label_1").innerHTML = "Modified First Label";

</script>