<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

上一篇: <select multiple> and enctype="multipart/form

下一篇: What is http multipart request?