【问题标题】:JScript array with Request.Form带有 Request.Form 的 JScript 数组
【发布时间】:2012-08-30 07:50:48
【问题描述】:

我有一个可能很愚蠢的问题,但我无法让它工作......

我正在提交一个包含如下输入的表单:

<input type="hidden" id="hidden0" name="Options2" value="0" />
<input type="hidden" id="hidden1" name="Options2" value="30" />
<input type="hidden" id="hidden2" name="Options2" value="4" />
<input type="hidden" id="hidden3" name="Options2" value="-1" />
<input type="hidden" id="hidden4" name="Options2" value="-1" />
<input type="hidden" id="hidden5" name="Options2" value="-1" />
<input type="hidden" id="hidden6" name="Options2" value="-1" />
<input type="hidden" id="hidden7" name="Options2" value="-1" />

请注意,这 8 个输入是动态创建的。单击提交时,我会使用 name="Options" 动态创建所有输入,并将值放入一些常规输入中。

var inputs = document.getElementsByName("Options"+cpt);
for( var g = 0; g < 8; g++ )
{
    document.all.Options[g].value = inputs[g].value;
}

当我收到表格时,我收到了这一行:

var arrayOption = Request.Form("Options");

如果我 Response.Write(arrayOption),我可以看到结果:0、30、4、-1 等... 我试图在这样的循环中获取所有值:

for (var k = 0; k < arrayOption.count; k++) {
    Response.Write(arrayOption[k]);
}

在这种情况下,arrayOption[k] 是未定义的,我不知道为什么。我还注意到 arrayOption.length 不起作用(这就是我使用 .count 的原因)。看起来arrayOption不是一个真正的数组,所以我尝试拆分,但是Object不支持这个属性或方法。这一切有什么问题?

【问题讨论】:

  • 我所有的例子都是javascript,但我也在使用asp
  • @SLaks 所问的是 服务器端语言 是什么...浏览器正在运行 JavaScript(标记后的代码块),但最后两个代码阻止 appear 成为 ASP 上的服务器端 JScript - 不是 javascript。我们需要知道才能给出正确的答案!
  • 对不起,我以为 JScript 和 javascript 是一样的。这是 ASP Classic + 服务器端 JScript

标签: javascript arrays asp-classic jscript serverside-javascript


【解决方案1】:

看起来像 ASP Classic + 服务器端 JScript,所以你需要一个 Enumerator() 来遍历集合,例如

for (var e = new Enumerator(Request.Form); !e.atEnd(); e.moveNext())
     Response.Write(e.item() + "=" + Request.Form(e.item()) + "<br>");

枚举所有帖子数据

【讨论】:

  • 如果发送了有效的 POST,那么这将正常工作。来自 fetch API 的 POST 与来自其他任何东西的 POST 相同。
猜你喜欢
  • 2014-06-25
  • 1970-01-01
  • 2013-05-13
  • 1970-01-01
  • 1970-01-01
  • 2020-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多