使用服务器端Javascript访问Classic Asp上的表单数据
Accessing Form Data on Classic Asp using server side Javascript
我正准备使用aspjavascript实现html表单的服务器端验证,但我遇到了一些意外行为。。我的asp和html代码如下:
<%
var bread = String(Request.Form("bread"));
if (!bread)
Response.Write("Choose a bread!");
%>
<br/>
<select id="breadDropDown" name="bread">
<option value=""></option>
<option value="white">white</option>
<option value="wheat">wheat</option>
<option value="flatbread">flatbread</option>
</select>
</div>
在这里,我得到了我想要的行为,即在GET上什么都不写,在无效POST上写错误。
<%
var meat = String(Request.Form("meat"));
if (!meat)
Response.Write("Choose a meat!");
%>
<br/>
<input type="checkbox" name="meat" value="turkey">turkey</input><br />
<input type="checkbox" name="meat" value="ham">ham</input><br />
<input type="checkbox" name="meat" value="roast beef">roast beef</input><br />
<input type="checkbox" name="meat" value="double meat">double meat</input><br />
</div>
但是,当我使用一组复选框而不是选择框时,我会得到不正确的行为。。即没有写入错误。
任何见解都会有所帮助,因为我所能找到的classis.asp和javascript的资源并不丰富。
谢谢!
Request.Form("meat")将为您提供未定义的
请求("肉")将为您提供以逗号分隔的字符串(例如火鸡、火腿)中检查的值
我一直认为您需要在输入标记周围放置一个表单标记。
<form name='frmFood' id='frmFood' method='post'>
<input or select>
</form>
Graham和ScotterMonkey的两个现有答案在某种程度上触及了根本问题,但我将尝试用一些有用的上下文更完整地综合它们。
ASP Classic提供了一个Request
对象,该对象具有多种集合的属性,例如:
Request.Form
Request.QueryString
Request.ServerVariables
在原始问题提供的代码中,您正试图访问Request.Form("meat")
。然而,ASP的Request.Form
集合仅通过提交HTML表单元素来填充,并且由于在代码的HTML部分中没有声明HTML表单元素,因此Request.Form
无法访问。
然而,正如用户Graham所指出的,Request
对象似乎能够通过其关联的name
属性访问请求页面的HTML元素。因此,访问Request("meat")
返回页面上每个元素的列表,该列表具有对应于"0"的名称属性;肉";。
关于ASP的内置请求对象的Microsoft文档有助于了解这种类型的旧代码。https://learn.microsoft.com/en-us/previous-versions/iis/6.0-sdk/ms524948(v=vs.90)
- 如何从pdftron webviewer获取表单数据
- JS验证ajax返回的html中的表单数据
- 在不同的文件中使用Javascript获取表单数据
- 使用Javascript读取Webstorage表单数据
- Uploadify-随机表单数据's已返回上载表单
- 如何在使用ajax提交的codeigniter中使用form_validation验证表单数据
- 在post-expressjs之后持久化表单数据
- 需要一个用于AJAX的Javascript库,其中包含多部分/表单数据
- jQuery发布并获取表单数据
- Ajax表单数据phpPOST不工作
- 如何将整个模型集附加到表单数据中,并在MVC中获得它
- 如何从javascript访问表单数据
- 如何从Angular Payments获取表单数据
- 通过javascript获取pdf文件的表单数据
- 有没有一种方法可以在jQuery.serialize()之前获取表单数据,或者与jQuery.sserialize(()
- 在 Angular2 中构建多部分/表单数据 POST 请求并验证输入类型文件
- 无法读取未定义的属性“用户名” - 通过电子邮件在 Node.js 中发送表单数据
- 使用 Ajax 获取表单数据
- 我无法从引导模式中清除表单数据
- 如何从 django 模板语言获取表单数据