Foxtable(狐表)用户栏目专家坐堂 → uploader浏览已录入的照片


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

主题:uploader浏览已录入的照片

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


加好友 发短信
等级:童狐 帖子:205 积分:1969 威望:0 精华:0 注册:2017/8/17 12:59:00
uploader浏览已录入的照片  发帖心情 Post By:2020/2/6 19:52:00 [显示全部帖子]

例子里给出了用uploader上传照片的例子,我想问下如何在再次编辑该行的时候,uploader显示出上次上传的那几张照片?代码该如何写?


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


Dim url As String = "prodedit.htm?page=" & page &  "&oid=" & pr("生产编号")  '传递页码和订单编号
wb.AddForm("","form1",url)
With wb.AddInputGroup("form1","ipg1",iif(e.GetValues.ContainsKey("oid"),"编辑生产单","新增生产单"))
    With .AddInput("生产编号","生产编号","text")
        .Value = pr("生产编号")
        .Readonly = True
    End With
    
    .AddInput("生产日期","生产日期","date").Value = pr("生产日期")
    
    Dim str1 As String = "|" & DataTables("库名").SQLGetComboListString("库名","使用中 =  'true'","序号") & "|"
    str1 = str1.replace("|" & pr("生产厂") & "|","|[" & pr("生产厂") & "]|")
    .AddSelect("生产厂","生产厂",str1.trimend("|"))
    
    
    Dim str2 As String = "|" & DataTables("员工").SQLGetComboListString("姓名","在职 =  'true'","工号") & "|"
    str2 = str2.replace("|" & pr("负责人") & "|","|[" & pr("负责人") & "]|")
    .AddSelect("负责人","负责人",str2.trimend("|"))   

    Dim str3 As String = "|" & DataTables("产品").SQLGetComboListString("产品名称","使用中 =  'true'","产品编号") & "|"
    str3 = str3.replace("|" & pr("产品名称") & "|","|[" & pr("产品名称") & "]|")
    .AddSelect("产品名称","产品名称",str3.trimend("|"))   

    .AddUploader("质检记录","质检记录")  
End With

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


加好友 发短信
等级:童狐 帖子:205 积分:1969 威望:0 精华:0 注册:2017/8/17 12:59:00
  发帖心情 Post By:2020/2/7 13:01:00 [显示全部帖子]

.AddImage("./images/1.png")
.AddImage("d:/web/images/1.png")

以上这两种写法都是指向一个地址,但是发现用写法2的时候页面显示不出这张图片,而写法1时是正常的。是说写法2是错误的么?如果是这样那是说uploader的文件只能放在web文件夹下而不能任意指定位置么?


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

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


加好友 发短信
等级:童狐 帖子:205 积分:1969 威望:0 精华:0 注册:2017/8/17 12:59:00
  发帖心情 Post By:2020/2/7 21:53:00 [显示全部帖子]

按照例子submit改成ajax,表单的提交结果什么都没啥问题,但是每次都触发tst3上传失败,是啥原因呢?

ajaxform.js 内容

function afterSubmit(result){
    hide("tst1");
    if (result=='OK') {
        show("tst2");
        location="prodlist.htm";
    }
    else{
        show("tst3",2000);
    }
}

prodedit内容

.....
With wb.AddButtonGroup("form1","btg1",False)
    .Add("btn1", "增加快检", "submit").FormAction = url & "&addnextk=true" '加上addnext参数,表示保存后进入增加明细状态
    .Add("btn4", "增加全检", "submit").FormAction = url & "&addnextq=true" '加上addnext参数,表示保存后进入增加明细状态
    .Add("btn2", "保存", "button").Attribute= ""  '正常提交,保存后进入编辑状态
        
    If  e.GetValues.ContainsKey("oid") = False Then '如过是新增订单
        .Add("btn3", "取消", "button","prodlist.htm?page=" & page & "&deloid=" & pr("生产编号")) '删除新增订单后返回列表
    ElseIf IsNew OrElse mr IsNot Nothing  Then '如果在给旧订单新增或修改明细,则直接返回编辑状态
        .Add("btn3", "取消", "button",url) '返回编辑状态
    Else
        .Add("btn3", "返回", "button","prodlist.htm?page=" & page) '返回列表
    End If
End With
wb.AddToast("","tst1", "正在上传",1)
wb.AddToast("","tst2", "上传成功",0)
wb.AddToast("","tst3", "上传失败",0).Icon= "warn"
pr.Save() '必须保存,而且必须在最后保存,因为SQLAddNew增加的行,保存之后就会销毁,无法再调用
If e.PostValues.Count > 0 Then '如果是通过提交按钮访问,则给一个已经保存的提示给用户,时长500毫秒
    wb.AddToast("","t1", "已经保存",0).Msec= 500
End If
wb.AppendHTML("<script src='./lib/order.js'></script>") '引入脚本文件
wb.AppendHTML("<script src='./lib/ajaxform.js'></script>") '引入脚本文件

e.WriteString(wb.Build) '生成网页

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


加好友 发短信
等级:童狐 帖子:205 积分:1969 威望:0 精华:0 注册:2017/8/17 12:59:00
  发帖心情 Post By:2020/2/8 12:06:00 [显示全部帖子]

代码
[此贴子已经被作者于2020/2/8 12:06:30编辑过]

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


加好友 发短信
等级:童狐 帖子:205 积分:1969 威望:0 精华:0 注册:2017/8/17 12:59:00
  发帖心情 Post By:2020/2/8 12:09:00 [显示全部帖子]


[此贴子已经被作者于2020/2/10 19:36:02编辑过]

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


加好友 发短信
等级:童狐 帖子:205 积分:1969 威望:0 精华:0 注册:2017/8/17 12:59:00
  发帖心情 Post By:2020/2/8 22:52:00 [显示全部帖子]

这个url的写法我是照抄例子里来的,例子里给的就是edit。
其实我现在也比较晕,不太清楚是如何从prodedit转到prodsave的。。。只是发现按照例子的写法,是可以正确提交表单的,只是显示上传失败而已。

增加订单


我们已经知道,当用户在list.htm中,单击"增加订单"按钮,会向服务器发送访问请求:
edit.htm?page=2
服务端收到这个访问请求后,触发HttpRequest事件,将请求转给Edit函数处理。

以下是edit函数的处理流程:

第11行到第13行代码,从GetValues集合中提取page参数,保存在变量page中,page变量的值等于2。
由于没有传递oid参数,第14行代码的条件成立,执行第15行到第17行代码。
第15行代码新增一个订单。
第16行代码利用自定义函数GetOrderID为新订单生成订单编号。
第17行代码将订单日期设置为当天日期。

假定新增订单编号为161203006,第27行代码合成了一个链接,保存在url中,内容为:
edit.htm?page=2&oid=161203006
第28行代码新增一个表单,数据接收链接为url,即:edit.htm?page=2&oid=161203006。
第29到第46行代码,生成了订单输入框。
由于第36行代码的条件不成立,不会生成总数量和总金额输入框。

 回到顶部