我想知道是否可以同时使用enctype =" multipart / form-data"和一个选择倍数。这是演习:
我有这个html文件(test.html):
<form action="action.asp" method="post" enctype="multipart/form-data" name="form1">
<select multiple name="prof">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
</select>
<input type="submit" value="Ok" name="Ok">
</form>
当我在列表中选择任何这些选项时,我的操作页面都没有显示任何内容(action.asp):
<%
dim prof
prof = request.form("prof")
response.write prof
%>
但是如果我删除了enctype =&#34; multipart / form-data&#34;在test.html中,它可以工作。
问题是我使用的是需要此enctype =&#34; multipart / form-data&#34;的asp上传文件组件。任何sugestions?
提前致谢。
答案 0 :(得分:1)
最后在FileUploader类上发现了一个bug。如果<select multiple>
元素的集合中已存在mcolFormElem Dictionary变量,则不会添加名称/值对,我已添加以下代码并正常工作。
If Not mcolFormElem.Exists(LCase(sInputName)) Then
mcolFormElem.Add LCase(sInputName), CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
else
dim tempKeyVal
tempKeyVal=mcolFormElem.item(LCase(sInputName))
mcolFormElem.Remove(LCase(sInputName))
mcolFormElem.Add LCase(sInputName), tempKeyVal&","&CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
end if
答案 1 :(得分:0)
如果你使用enctype =&#34; multipart / form-data&#34;一定是因为你上传了一个文件。如果您上传了一个文件,那么您应该使用上传组件:
设置yourUploadComponent = 的CreateObject(&#34; Your.UploadComponentClassString&#34)
sFormValue = yourUploadComponent.Form.Item(&#34; prof&#34;)。值