我綁採用asp javascript來實現HTML表單的服務器端驗證,和我遇到了一些意想不到的behavior..my ASP和HTML代碼在傳統的ASP訪問表單數據如下:使用服務器端JavaScript
<%
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>
然而,當我使用一組複選框,而不是一個選擇框我越來越不正確behavior..i.e。沒有錯誤正在寫入。
任何洞察將是有幫助的,因爲沒有足夠的資源爲classis ASP與JavaScript,我可以找到。
謝謝!
'Request.Form(「肉」)'可能是一個集合/數組。你試過調試一下'String(Request.form(「肉」))'的樣子嗎? – Passerby