Html 带有附加功能的纯ASP上载脚本

Html 带有附加功能的纯ASP上载脚本,html,asp-classic,Html,Asp Classic,资料来源: 大家好 我试图使用“阴影向导”的图像上传脚本,可以找到上面…它的作品对我来说非常好,除了一件事。我表单的一部分包含同名的复选框(疾病/食物列表),我需要能够选择多个复选框以插入数据库,但运行此操作后,我似乎只能获得一个要提交的值(上次单击的值) 我快速浏览了一下google,我想我把它归结为是因为表单上的enctype是“multipart/formdata” 有人(甚至是影子巫师本人)知道解决这个问题的方法吗?如果没有,我将不得不寻找另一种允许多个复选框的图像上传解决方案。问题在于

资料来源:

大家好

我试图使用“阴影向导”的图像上传脚本,可以找到上面…它的作品对我来说非常好,除了一件事。我表单的一部分包含同名的复选框(疾病/食物列表),我需要能够选择多个复选框以插入数据库,但运行此操作后,我似乎只能获得一个要提交的值(上次单击的值)

我快速浏览了一下google,我想我把它归结为是因为表单上的enctype是“multipart/formdata”


有人(甚至是影子巫师本人)知道解决这个问题的方法吗?如果没有,我将不得不寻找另一种允许多个复选框的图像上传解决方案。

问题在于第159-160行的Shadowuploader.asp。在那里,strElementValue在m_Reuqest字典中被覆盖

因此,你必须做一些稍微不同的事情:

            'append to request collection
        if m_Request.Exists(strElementName) then
            m_Request(strElementName) = m_Request(strElementName) & ", " & strElementValue
        else
            m_Request(strElementName) = strElementValue
        end if
所以,如果m_请求字典中已经存在strElementName,那么就有逗号分隔的值

如果需要,您可以添加一些额外的智能,并将m_请求字典中的每个逗号分隔值更改为循环后的数组:

        dim itm, arr, n
    for each itm in m_Request
        if instr(m_Request(itm), ", ") > 0 then
            arr = split( m_Request(itm), ", ")
            m_Request(itm) = arr
        end if
    next
上传后,您可以访问如下复选框的值:

objUpload("chk")(1)

像往常一样,使用经典asp时没有简单的解决方案…

感谢您的见解…经过几个小时的思考,并与同学们讨论,我想出了另一个选择(尽管可能有点混乱),即当复选框为select时,它会将值(前面有一个“-”(使用java)写入一个隐藏的文本字段中。然后将该文本字段提交到上载页面。这个解决方案似乎适合我的需要。我很感激你能抽出时间帮我看一下这篇文章,但是为什么你不在原来的帖子里回复呢?我直到现在才注意到这一点,但很高兴你得到了极好的帮助。:-)