首页 文章

<select multiple>和enctype =“multipart / form-data”

提问于
浏览
3

我想知道是否可以使用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上传文件组件 . 任何sugestions?

提前致谢 .

2 回答

  • 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
    
  • 0

    如果您使用enctype =“multipart / form-data”,那一定是因为您正在上传文件 . 如果您上传文件,则应使用上传组件,如果您这样做,可以使用:

    设置yourUploadComponent = CreateObject(“Your.UploadComponentClassString”)sFormValue = yourUploadComponent.Form.Item(“prof”) . 值

相关问题