Foxtable(狐表)用户栏目专家坐堂 → [求助] submitAjaxForm未选择文件时提交报错如何处理


  共有3028人关注过本帖树形打印复制链接

主题:[求助] submitAjaxForm未选择文件时提交报错如何处理

帅哥哟,离线,有人找我吗?
黄训良
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1100 积分:8985 威望:0 精华:0 注册:2014/3/15 14:36:00
[求助] submitAjaxForm未选择文件时提交报错如何处理  发帖心情 Post By:2018/2/24 8:53:00 [只看该作者]

下面帮助中例子,如果未选择图片点击【提交】提示下面错误,如何处理?
http://www.foxtable.com/mobilehelp/scr/0139.htm

图片点击可在新窗口打开查看此主题相关图片如下:上传err.png
图片点击可在新窗口打开查看


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110802 积分:563948 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/2/24 9:35:00 [只看该作者]

贴出后台相关代码

提示的地址中有2个“web”是不是重复了
[此贴子已经被作者于2018/2/24 9:44:18编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2018/2/24 9:42:00 [只看该作者]

服务器先创建所提示的目录。

 回到顶部
帅哥哟,离线,有人找我吗?
黄训良
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1100 积分:8985 威望:0 精华:0 注册:2014/3/15 14:36:00
  发帖心情 Post By:2018/2/24 10:07:00 [只看该作者]

如果未选择图片点击【提交】提示错误,选择了图片上传正常,如何处理?
原因很明确,保存文件时没有文件名,只是一个目录,想做个友好的提示“‘请选择文件后提交’”,不知如何修改!
Case "upload.htm"
        wb.AddForm("","form1","receive.htm")
        With wb.AddInputGroup("form1","ipg1","文件上传")
            With .AddUploader("up128","照片",True)
                .AllowDelete = True '允许删除
                .Incremental = True '允许重复选择文件或连续拍照
            End With
        End With
        
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btn1", "确定", "button").Attribute= "" '调用js函数上传
        End With
        wb.AddToast("","tst1", "正在上传",1)
        wb.AddToast("","tst2", "上传成功",0)
        wb.AddToast("","tst3", "上传失败",0).Icon= "warn"
        wb.AppendHTML("<script src='./web/lib/ajaxform.js'></script>") '引入脚本文件
        e.WriteString(wb.Build) '生成网页
        
    Case "receive.htm"
        For Each key As String In e.Files.Keys
            For Each fln As String In e.Files(key)
                    e.SaveFile(key,fln,"D:\web\web\images\" & fln)   '这是我指定额保存接收到的文件的文件夹
            Next
        Next
        e.WriteString("OK")

[此贴子已经被作者于2018/2/24 10:12:24编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110802 积分:563948 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/2/24 10:12:00 [只看该作者]

Case "receive.htm"
    For Each key As String In e.Files.Keys
        For Each fln As String In e.Files(key)
            If fln > "" Then
                e.SaveFile(key,fln,"D:\web\web\images\" & fln)   '这是我指定额保存接收到的文件的文件夹
            End If
        Next
    Next
    e.WriteString("OK")

 回到顶部
帅哥哟,离线,有人找我吗?
黄训良
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1100 积分:8985 威望:0 精华:0 注册:2014/3/15 14:36:00
  发帖心情 Post By:2018/2/24 10:26:00 [只看该作者]

==htm  
 ‘不能显示上传成功,如何写呀! 
 Case "receive.htm"    
        For Each key As String In e.Files.Keys
            For Each fln As String In e.Files(key)
                If fln > ""
                    e.SaveFile(key,fln,"D:\web\web\images\" & fln) '保存接收到的文件
                Else
                    e.WriteString("No")
                    'Return
                End If
            Next
        Next
        e.WriteString("OK")
==ajaxform.js
function submitForm(){
    show("tst1",2000);
    var result = submitAjaxForm('form1','afterSubmit',true,'tst1');

}

function afterSubmit(result){
    hide("tst1");
    if (result=='OK') {
        show("tst2",2000);
location="upload.htm";   ‘不能显示上传成功
    }
    if (result=='No') {
location="msg.htm";    
    }
    else
         show("tst3",2000);
}
        
[此贴子已经被作者于2018/2/24 10:27:00编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110802 积分:563948 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/2/24 10:39:00 [只看该作者]

Function afterSubmit(result){
    hide("tst1");
    If (result=='OK') {
        show("tst2",2000);
    }
    Else
    {
         show("tst3",2000);
    }
}

 回到顶部
帅哥哟,离线,有人找我吗?
黄训良
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1100 积分:8985 威望:0 精华:0 注册:2014/3/15 14:36:00
  发帖心情 Post By:2018/2/24 10:57:00 [只看该作者]

实现了,哈哈!
==ajaxform.js
function submitForm(){
    show("tst1",2000);
    var result = submitAjaxForm('form1','afterSubmit',true,'tst1');
}
function afterSubmit(result){
    hide("tst1");
    if (result=='OK') {
        show("tst2",2000);
location="upload.htm";   
    }
    else
if (result=='No') {
  location="msg.htm";    
    }
       else
          show("tst3",2000);
}

 回到顶部