0

我正在尝试使用 asp javascript 实现 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>

但是,当我使用一组复选框而不是选择框时,我的行为不正确..即没有写入错误。

任何见解都会有所帮助,因为我找不到大量的带有 javascript 的 classis asp 资源。

谢谢!

4

2 回答 2

0

我一直认为您需要在输入标签周围放置一个表单标签。

<form name='frmFood' id='frmFood' method='post'>
<input or select>
</form>
于 2013-08-23T05:09:07.360 回答
0

Request.Form("meat") 会给你 undefined

Request("meat") 将为您提供以逗号分隔的字符串检查的值(例如火鸡、火腿)

于 2013-08-22T09:59:00.237 回答