<select multiple>和enctype =“multipart / form
我想知道是否可以使用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
%>
但是如果我在test.html中删除了enctype =“multipart / form-data”,那么它就可以工作。
问题是我正在使用一个需要enctype =“multipart / form-data”的asp上传文件组件。 任何消化?
提前致谢。
如果您使用enctype =“multipart / form-data”,则必须是因为您正在上传文件。 如果您上传文件,则应该使用上传组件,如果您可以使用:
设置yourUploadComponent = CreateObject(“Your.UploadComponentClassString”)
sFormValue = yourUploadComponent.Form.Item(“prof”)。值
最后在FileUploader类中发现了一个错误。 mcolFormElem Dictionary变量不会添加名称/值对(如果已经存在于<select multiple>
元素的集合中,则我添加了下面的代码并且工作正常。
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
链接地址: http://www.djcxy.com/p/22201.html