asp请求高手帮助,急急!!

mfdipq 2006-08-02 10:41:46
我用asp做了一个文件上传的表单,想在上传文件的同时设置这个文件的几个值,用了几个input让用户自己输入,文件可以上传,但是值就传不过去,
为什么form设置了enctype="multipart/form-data" 属性后,form里面的input的值传不过去了呢?去掉enctype="multipart/form-data"后,这些input的值都可以正常的传递过去
小弟实在不解,还望高手们指点
另:我在一个页页中有2个FORM表单,我在提交一个表单时触发另一个表单的提交事件,(提交到同一个页面或不同的页而都可以),我用提交表单的同时响触发另一个FORM的submit事件没有成功!请高手帮助,急急!!谢谢!!!
...全文
205 12 打赏 收藏 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
BILLSJONE 2006-08-03
  • 打赏
  • 举报
回复
enctype="multipart/form-data"传过去的就是二进制的了,要转化才能取得到:
<%
dim inputvalue
FormSize = Request.TotalBytes
FormData = Request.BinaryRead(FormSize)
bCrLf = ChrB(13) & ChrB(10)
Divider = LeftB(FormData, InStrB(FormData, bCrLf) - 1)

'------读取input的值------
inputvalue=GetFormVal("inputname")


Function bin2str(binstr)
Dim varlen, clow, ccc, skipflag
skipflag = 0
ccc = ""
varlen = LenB(binstr)
For i = 1 To varlen
If skipflag = 0 Then
clow = MidB(binstr, i, 1)
If AscB(clow) > 127 Then
ccc = ccc & Chr(AscW(MidB(binstr, i + 1, 1) & clow))
skipflag = 1
Else
ccc = ccc & Chr(AscB(clow))
End If
Else
skipflag = 0
End If
Next
bin2str = ccc
End Function

Function GetFormVal(FormName)
GetFormVal = ""
StartPos = LenB(Divider) + 2
FormName = Chr(34) & FormName & Chr(34)

Do While StartPos > 0
strlen = InStrB(StartPos, FormData, bCrLf) - StartPos
SearchStr = MidB(FormData, StartPos, strlen)
If InStr(bin2str(SearchStr), FormName) > 0 Then
ValStart = InStrB(StartPos, FormData, bCrLf & bCrLf) + 4
ValLen = InStrB(StartPos, FormData, Divider) - 2 - ValStart
ValContent = MidB(FormData, ValStart, ValLen)
If GetFormVal <> "" Then
GetFormVal = GetFormVal & "," & bin2str(ValContent)
Else
GetFormVal = bin2str(ValContent)
End If
End If
If InStrB(StartPos, FormData, Divider) < 1 Then
Exit Do
End If
StartPos = InStrB(StartPos, FormData, Divider) + LenB(Divider) + 2
Loop
End Function
%>
alison007 2006-08-02
  • 打赏
  • 举报
回复
Set upload= New DoteyUpload //上传组件的类

Upload.SaveTo(formPath)

If upload.ErrMsg = "" then

For each formName in upload.Form ''列出所有form数据

temp=temp & "||" & upload.Form (formName) '用字符串存表单所有变量
next


temp2=split(temp,"||")

dim a1,a2,a3,a4,a5

a1=temp2(1)//form的第1个元素,5个不包括上传文件的那个元素
a2=temp2(2)//form的第2个元素
a3=temp2(3)//form的第3个元素
a4=temp2(4)//。。
a5=temp2(5)//。。。

For Each formName In upload.Files ''列出所有上传了的文件
Set file = upload.Files(formName) ''生成一个文件对象
userfilepath= formPath & makefilename

Set file=nothing
Next
Else
Response.Write("上传过程中出现错误:<br>" & Upload.ErrMsg)
End If

这是一个例子,不同上传组件应该不一样。
babyfish1980 2006-08-02
  • 打赏
  • 举报
回复
利用input 的onclick="action ....."
即可
run_pig 2006-08-02
  • 打赏
  • 举报
回复
可以传上去的,看你怎么写了
windwl 2006-08-02
  • 打赏
  • 举报
回复
form设置了enctype="multipart/form-data" 属性后,就是2进制传输数据了,用request就得不到值了
wusongping 2006-08-02
  • 打赏
  • 举报
回复
去掉 enctype="multipart/form-data

form 里面有这个 好象提交以后获取不到值
yu0333 2006-08-02
  • 打赏
  • 举报
回复
是传不了的 enctype="multipart/form-data
这句拿了就可以了
我也不解,不过拿了不影响上传,所以也就无所谓啊
wtg321 2006-08-02
  • 打赏
  • 举报
回复
最好把代码贴上来.
因为从道理上来讲应该是可以传值的.
alison007 2006-08-02
  • 打赏
  • 举报
回复
那你是怎么实现上传的?
mfdipq 2006-08-02
  • 打赏
  • 举报
回复
我也做成两个form表单,想在提交一个表单的时候触发另一个表单的提交(onsubmit),但试了很多还没有实现,请高手帮帮忙,谢谢!!
dongua 2006-08-02
  • 打赏
  • 举报
回复
只能单独上传文件。
不能同时上传文件以及其他普通参数。
mfdipq 2006-08-02
  • 打赏
  • 举报
回复
谢谢各位,我没有用组件,现在文件能传上去,但表单里其它值接收不到,请高手指点指点!急!!!!!

28,402

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧