以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  为什么我接收不到上传的文件?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=190088)

--  作者:yellow
--  发布时间:2024/1/16 0:18:00
--  为什么我接收不到上传的文件?
需要接收页面上传的文件,代码缩减如下。不知道那里出问题了,用 submit 提交数据时接收不到任何文件。 

 Dim wb As New WeUI
        If e.PostValues.Count = 0 Then 
            \'请假单查询
            wb.AddForm("", "form1", "test.htm") 
            \'显示审批意见或输入框
            With wb.AddInputGroup("form1", "bzr", "班主任意见")
                .AddTextArea("bzryj", 3).Placeholder = "请输入具体内容"
                With .AddUploader("zz", "家校沟通佐证", True)
                    .AllowDelete = True \'允许删除
                    .Incremental = True \'允许重复选择文件或连续拍照
                    .ScaleWidth = 800 \'自动压缩图片宽度为400个像素,高度等比例压缩
                End With
            End With
            
            With wb.AddButtonGroup("form1", "btg1", False) \'水平排列
                With .Add("btn1", "驳回", "submit")
                    .Kind = 2
                    .Value = "btn1"
                End With
                With .Add("btn2", "同意", "submit")
                    .Value = "btn2"
                    \' .Attribute = "" \'调用js函数上传
                End With
            End With 
        Else
            \'接收审批意见及附件
            Dim dr As DataRow
            Dim yj As String
            \'判断是否同意
            If e.PostValues.ContainsKey("btn1") Then 
                yj = "【驳回】"
            ElseIf e.PostValues.ContainsKey("btn2") Then
                yj = "【同意】"
            End If 
            \'保存附件           
            For Each key As String In e.Files.Keys 
                Dim i As Integer = 0
                Dim flns As New List(Of String)
                For Each fln As String In e.Files(key)
                    Dim fext As String
                    fext = fln.LastIndexOf(".")
                    fext = fln.SubString(fext) \'获取扩展名
                    i = i + 1
                    flns.Add( dr("请假单号") & "_gt" & i & fext)
                    e.SaveFile(key, fln, ProjectPath & "web\\uploadfiles\\" & "_gt" & i & fext) \'保存接收到的文件
                Next 
            Next 
        End If 
        e.WriteString(wb.Build) \'生成网页

--  作者:有点蓝
--  发布时间:2024/1/16 8:32:00
--  
要使用ajax提交数据,参考:http://www.foxtable.com/mobilehelp/topics/0251.htm
--  作者:yellow
--  发布时间:2024/1/16 8:54:00
--  
用ajax提交是可以,但用了ajax没有接收到按钮键值,我不会怎样做按钮区分啊?求教。
[此贴子已经被作者于2024/1/16 8:55:45编辑过]

--  作者:有点蓝
--  发布时间:2024/1/16 9:30:00
--  
在js里区分,比如

js文件
function submitForm(btn){
    show("tst1",2000);
form1.action = "test.htm?btn=" + btn
    var result = submitAjaxForm(\'form1\',\'afterSubmit\');
}

服务端提交按钮

        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btn1"
"驳回
""button").Attribute= "onclick=\'submitForm(""1"")\'" \'调用js函数上传
            .Add("btn1"
"同意
""button").Attribute= "onclick=\'submitForm(""2"")\'" \'调用js函数上传
        End With

接收数据的判断

        Else
            \'接收审批意见及附件
            Dim dr As DataRow
            Dim yj As String
            \'判断是否同意
            If e.getValues.ContainsKey("btn") Then 
If e.getValues("btn") = "1" Then 
                yj = "【驳回】"
            Else
                yj = "【同意】"
end if
            End If 
            \'保存附件           

--  作者:yellow
--  发布时间:2024/1/16 9:53:00
--  
学到了,学到了,非常感谢!