以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- uploader浏览已录入的照片 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=145762) |
-- 作者:dengk03 -- 发布时间:2020/2/6 19:52:00 -- uploader浏览已录入的照片 例子里给出了用uploader上传照片的例子,我想问下如何在再次编辑该行的时候,uploader显示出上次上传的那几张照片?代码该如何写? 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
|
-- 作者:有点蓝 -- 发布时间:2020/2/7 11:38:00 -- .AddImage(pr("质检记录")) End With
|
-- 作者:dengk03 -- 发布时间:2020/2/7 13:01:00 -- .AddImage("./images/1.png") .AddImage("d:/web/images/1.png") 以上这两种写法都是指向一个地址,但是发现用写法2的时候页面显示不出这张图片,而写法1时是正常的。是说写法2是错误的么?如果是这样那是说uploader的文件只能放在web文件夹下而不能任意指定位置么? |
-- 作者:有点蓝 -- 发布时间:2020/2/7 14:29:00 -- 只能放在web文件夹下。 |
-- 作者:dengk03 -- 发布时间: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) \'生成网页 |
-- 作者:有点蓝 -- 发布时间:2020/2/7 22:47:00 -- 完整代码放到txt文件发上来 |
-- 作者:dengk03 -- 发布时间:2020/2/8 12:06:00 -- 代码 [此贴子已经被作者于2020/2/8 12:06:30编辑过]
|
-- 作者:dengk03 -- 发布时间:2020/2/8 12:09:00 -- [此贴子已经被作者于2020/2/10 19:36:02编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/2/8 13:49:00 -- 保存会跳转到prodsave自定义函数?这个函数是什么页面进来的,prodsave.htm? ----------------- proedit自定义程序 Dim url As String = "prodedit.htm?page=" & page & "&oid=" & pr("生产编号") \'传递页码和订单编号 改为 Dim url As String = "prodsave.htm?page=" & page & "&oid=" & pr("生产编号") \'传递页码和订单编号 ------------------- prodsave自定义函数,加上返回值 If valid Then \'如果提交了订单明细数据 ……各种原来的各种赋值保存操作 e.WriteString("OK") ‘保存正常要返回OK,tst2才能正常弹出 else e.WriteString("提交的数据不完整!") end if
|
-- 作者:dengk03 -- 发布时间: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行代码的条件不成立,不会生成总数量和总金额输入框。 |