Foxtable(狐表)用户栏目专家坐堂 → 帮助中edit怎么传递到save的


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

主题:帮助中edit怎么传递到save的

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


加好友 发短信
等级:狐精 帖子:3355 积分:24732 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2018/6/30 18:12:00 [只看该作者]

还是回到这个valid函数吧  在valid页面e.PostValues.count=0

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


加好友 发短信
等级:狐精 帖子:3355 积分:24732 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2018/7/1 13:28:00 [只看该作者]

图片点击可在新窗口打开查看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/1 16:43:00 [只看该作者]

贴出你写的valid函数。

 

贴出你生成页面的代码。

 

贴出valid页面的代码。


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


加好友 发短信
等级:狐精 帖子:3355 积分:24732 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2018/7/1 21:22:00 [只看该作者]

函数
function validit(){
    var result=submitAjaxFileds("valid.htm","","药材编码","数量",false);
    if(result=="OK"){
        return true;
    }
    else{
        showTopTips("toptip1",result,2500);
        return false;
    }
}

valid页面代码
If e.PostValues.ContainsKey("药材编码") AndAlso e.PostValues.ContainsKey("数量")  Then
            If Functions.Execute("分库库存",e.Cookies("bm"),e.PostValues("药材编码"))<e.PostValues("数量")  Then
                e.WriteString("库存不足!")
            Else
                e.WriteString("OK")
            End If
            
        End If



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


加好友 发短信
等级:狐精 帖子:3355 积分:24732 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2018/7/1 21:22:00 [只看该作者]

Dim e As RequestEventArgs = args(0)
Dim wb As New weui
wb.AddPage("","p1") '增加两个page
wb.AddPage("","p2",False)
wb.AddPage("","p3",False)

'删除订单明细
If e.GetValues.ContainsKey("deldid") Then
    DataTables("销售明细").SQLDeleteFor("[_Identify] = " & e.GetValues("deldid"))
End If
'订单编辑
Dim pr As DataRow '订单
Dim srs As List(of DataRow) '订单明细集合
Dim Page As Integer '页码变量
If e.GetValues.ContainsKey("page") Then  '如果地址中有page参数
    Integer.TryParse(e.GetValues("page"), page) '提取page参数
End If
If e.GetValues.ContainsKey("oid") = False Then '如果没有传递订单编号,则新增与一个订单
    pr = DataTables("销售单").SQLAddNew() '
    pr("销售单号") = Functions.Execute("GetOrderID") '利用自定义函数GetOrderID为新增订单生成编号.
    pr("制单时间") = Date.now
Else '如果传递了订单编号,则找出此订单进行编辑
    pr = DataTables("销售单").SQLFind("销售单号='" & e.GetValues("oid") & "'")
    If pr Is Nothing Then '多用户情况下,必须考虑其他用户删除订单的可能.
        wb.InSertHtml("此订单已被其他用户删除!")
        e.WriteString(wb.Build)
        Return ""  '必须返回
    End If
    srs =  DataTables("销售明细").SQLSelect("销售单号='" & pr("销售单号")  & "'") '获取订单明细
End If
Dim url As String = "edit.htm?page=" & page &  "&oid=" & pr("销售单号")  '传递页码和订单编号
wb.AddForm("p1","form1",url).Attribute="on submit='return validit()'"
With wb.AddInputGroup("form1","ipg1",iif(e.GetValues.ContainsKey("oid"),"编辑订单","新增订单"))

    With .AddInput("销售单号","销售单号","text")
        .Value = pr("销售单号")
        .Readonly = True
    End With
    
    .AddInput("所属业务员","所属业务员","text").Value =iif(pr("所属业务员")="",e.Cookies("xm"),pr("所属业务员"))
    .AddInput("部门","部门","text").Value = iif(pr("部门")="",e.Cookies("bm"),pr("部门"))
    .addselect("销售类型","销售类型",iif(pr("销售类型")="","批发|零售",pr("销售类型")))
    With .Addinput("客户编号","客户编号","")
.Value=pr("客户编号")
        .Attribute  ="""
        .Readonly=True
    End With
    .AddInput("客户名称","客户名称","text").Value = pr("客户名称")
    .AddInput("联系人","联系人","text").Value = pr("联系人")
    .AddInput("电话","电话","text").Value = pr("电话")
    With .AddInput("已折扣金额","已折扣金额","number")
        .Value = pr("已折扣金额")
        .Readonly=True
        .Step="0.01"
    End With
    With  .AddInput("优惠金额","优惠金额","number")
        .Value = pr("优惠金额")
        .Step="0.01"
    End With
    With.AddInput("应收金额","应收金额","number")
    .Value = pr("应收金额")
    .Readonly=True
    .Step="0.01"
End With
With .AddInput("现金","现金","number")
    .Value = pr("现金")
    .Step="0.01"
End With
With .AddInput("转账金额","转账金额","number")
    .Value = pr("转账金额")
    .Step="0.01"
End With
.addselect("账号","账号",iif(pr("账号")="","|" & DataTables("销售单").SQLGetComboListString("账号"),pr("账号")))
With .AddInput("实收金额","实收金额","number")
    .Value = pr("实收金额")
    .Readonly=True
    .Step="0.01"
End With
With .AddInput("未收金额","未收金额","number")
    .Value = pr("未收金额")
    .Readonly=True
    .Step="0.01"
End With
With .AddInput("销售日期","销售日期","date")
    If pr("销售日期") >"2000-12-31" Then
        .Value = pr("销售日期")
    Else
        .Value = Date.Today
    End If
End With
.addselect("送货方式","送货方式",iif(pr("送货方式")="","自提|快递",pr("送货方式")))


With  .AddInput("运费","运费","number")
    .Value = pr("运费")
    .Step="0.01"
End With
.AddInput("备注","备注","text").Value = pr("备注")
End With
'订单明细编辑
Dim mr As DataRow '要编辑的订单明细
Dim IsNew As Boolean '此变量用于标记是否要新增明细
If e.GetValues.ContainsKey("oid") = False OrElse e.GetValues.ContainsKey("addnext") '如果是新增订单,或这包括addnext参数
    IsNew = True '将IsNew参数设置为True,表明需要新增订单明细
ElseIf e.GetValues.ContainsKey("did") Then '如果传递了订单明细主键
    mr = DataTables("销售明细").SQLFind("[_Identify]=" & e.GetValues("did")) '找出此订单明细进行编辑
End If
If IsNew OrElse mr IsNot Nothing  Then
    With wb.AddInputGroup("form1","ipg2",iif(IsNew,"新增明细","编辑明细"))
        .Attribute = "" '调用js函数,自动计算金额
        If IsNew Then '如果是新增订单明细
            '''.Addselect("药材编码","药材编码","").Attribute  ="""
            With .Addinput("药材编码","药材编码","")
                .Attribute  ="""
                .Readonly=True
            End With
            With .AddInput("名称","名称","text")
                .Readonly=True
            End With
            With  .AddInput("数量","数量","number")
                .Step= "0.01"
                
            End With
            With .AddInput("零售价","零售价","number")
                .Step= "0.01"
            End With
            With .AddInput("零售金额","零售金额","number")
                .Step="0.01"
                .Readonly=True
            End With
            .AddInput("单据号","单据号","text")
            
        Else
            .AddHiddenValue("DetailID",mr("_Identify")) '插入一个隐藏的订单明细主键,此值将随表单数据一并提交到服务器.
            .AddInput("药材编码","药材编码","text")
            With .AddInput("名称","名称","text")
                .Value = mr("名称")
                .Readonly=True
            End With
            With  .AddInput("数量","数量","number")
                .Step= "0.01"
                .value = mr("数量")
            End With
            With .AddInput("零售价","零售价","number")
                .Step= "0.01"
                .value = mr("零售价")
            End With
            With .AddInput("零售金额","零售金额","number")
                .value = mr("零售金额") '后台没有金额列,要通过数量和零售价计算得出
                .Step="0.01"
            End With
           With  .AddInput("单据号","单据号","text")
.value=mr("单据号")
End With
            
        End If
    End With
End If
'生成订单明细表格
If e.GetValues.ContainsKey("oid") AndAlso  srs.count > 0 Then '如果不是新增订单,且订单明细行数大于0,则生成订单明细表格.
    With wb.AddTable("form1","detailTable") '为了区分,明细表的名字设为detailTable
        .head.AddRow("药材编码","名称","数量","零售价","零售金额")
        .ActiveSheet = "menu" '指定菜单
        For Each sr As DataRow In srs
            With .Body.AddRow(sr("药材编码"),sr("名称"),sr("数量"),sr("零售价"),sr("零售金额"))
                ''.AddCell(sr("数量") * sr("零售价"))
                .Primarykey = sr("_Identify") '为此行指定主键值
            End With
        Next
        Dim amt As Double
        amt = DataTables("销售明细").sqlcompute("sum(零售金额)","销售单号='" & e.GetValues("oid") & "'")
        With .Body.AddRow()
            .Attribute = "style='background-color:#F0FFFF'"
            .AddCell("合计: ","colspan='3'")
            .AddCells("",amt)
        End With
    End With
    '设计菜单
    With wb.AddActionSheet("","menu")
        .Add("mnudAdd", "增加明细").Attribute="" '调用js函数
        .Add("mnuEdit", "编辑明细").Attribute =""
        .Add("mnuDelete", "删除明细").Attribute ="""
        .Add("mnuCancel","取消","",True)
    End With
End If
With wb.AddDialog("","dlg1", "删除确认","您确定要删除当前明细吗?")
    .AddButton("btnCancel","取消").Kind = 1
    .AddButton("btnOK","确定").Attribute = ""
End With
With wb.AddButtonGroup("form1","btg1",False)
    .Add("btn1", "增加明细", "submit").FormAction = url & "&addnext=true" '加上addnext参数,表示保存后进入增加明细状态
    .Add("btn2", "保存", "submit") '正常提交,保存后进入编辑状态
    If  e.GetValues.ContainsKey("oid") = False Then '如过是新增订单
        .Add("btn3", "取消", "button","list.htm?page=" & page & "&deloid=" & pr("销售单号")) '删除新增订单后返回列表
    ElseIf IsNew OrElse mr IsNot Nothing  Then '如果在给旧订单新增或修改明细,则直接返回编辑状态
        .Add("btn3", "取消", "button",url) '返回编辑状态
    Else
        .Add("btn3", "返回", "button","list.htm?page=" & page) '返回列表
    End If
End With
'''P2页面

wb.AddForm("p2","form2","khmhcx.htm")
With wb.AddInputGroup("form2","ipg22","客户查询")
    .AddInput("gjz2","关键字","text")
    With .AddInput("bm","部门","text")
        .Value = e.Cookies("bm")
        .Readonly = True
    End With
End With
With wb.AddButtonGroup("form2","btg22",True)
    .Add("btn21", "查询", "button").Attribute= ""
    .Add("btn22", "新增", "button").Attribute = """
    '''.Attribute = " & Functions.Execute("自动编号","客户信息") & "'"""
End With
wb.insertHtml("p2","<div id='p222' style='margin:0.5em'></div>") '插入一个div,用于显示服务器返回的 页面
wb.AppendHTML("<script src='./lib/ajaxform.js'></script>")

'''P3页面

wb.AddForm("p3","form3","spmhcxxz.htm")
With wb.AddInputGroup("form3","ipg3","商品查询")
    .AddInput("gjz","关键字","text")
    With .AddInput("bm","库房","text")
        .Value = e.Cookies("bm")
        .Readonly = True
    End With
End With
With wb.AddButtonGroup("form3","btg3",True)
    .Add("btn3", "查询", "button").Attribute= ""
    ''.Add("btn3", "查询", "submit")
End With
wb.insertHtml("p3","<div id='p333' style='margin:0.5em'></div>") '插入一个div,用于显示服务器返回的 页面
wb.AppendHTML("<script src='./lib/ajaxform.js'></script>") '引入脚本文件

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/choice.js'></script>")
e.WriteString(wb.Build) '生成网页
[此贴子已经被作者于2018/7/1 21:23:38编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/1 21:39:00 [只看该作者]

加入红色代码,弹出什么

 

 

函数
function validit(){
alert(123);
alert(document.getElementById("药材编码").value)
    var result=submitAjaxFileds("valid.htm","","药材编码","数量",false);
alert(result)
    if(result=="OK"){
        return true;
    }
    else{
        showTopTips("toptip1",result,2500);
        return false;
    }
}

valid页面代码
 
msgbox(123)
msgbox(e.value("药材编码"))
If e.PostValues.ContainsKey("药材编码") AndAlso e.PostValues.ContainsKey("数量")  Then
msgbox(456)
            If Functions.Execute("分库库存",e.Cookies("bm"),e.PostValues("药材编码"))<e.PostValues("数量")  Then
                e.WriteString("库存不足!")
            Else
                e.WriteString("OK")
            End If
            
        End If


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


加好友 发短信
等级:狐精 帖子:3355 积分:24732 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2018/7/2 7:35:00 [只看该作者]

我单独建了一个js重新引用现在能弹出提示,红色部分都是能正确弹出提示的,但是数据结果还是保存了,没有阻止数据上传
msgbox("123")
msgbox(e.postvalues("药材编码"))
If e.PostValues.ContainsKey("药材编码") AndAlso e.PostValues.ContainsKey("数量")  Then
msgbox("456")
msgbox(e.Cookies("bm"))
msgbox(e.PostValues("数量"))
            If Functions.Execute("分库库存",e.Cookies("bm"),e.PostValues("药材编码"))<e.PostValues("数量")  Then
msgbox(Functions.Execute("分库库存",e.Cookies("bm"),e.PostValues("药材编码")))
Msgbox("789")
                e.WriteString("库存不足!")
            Else
                e.WriteString("OK")
            End If
            
        End If


function validit(){
alert(document.getElementById("药材编码").value)
    var result=submitAjaxFileds("valid.htm","","药材编码","数量",false);
alert(result)
    if(result=="OK"){
        return true;
    }
    else{
        showTopTips("toptip1",result,2500);
        return false;
    }
}


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


加好友 发短信
等级:狐精 帖子:3355 积分:24732 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2018/7/2 7:41:00 [只看该作者]


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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/2 8:49:00 [只看该作者]

你的 【toptip1】没有放到网页里面。

 

http://www.foxtable.com/mobilehelp/scr/0083.htm

 

wb.AddTopTips("","toptip1","请输入姓名和密码!")

 


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


加好友 发短信
等级:狐精 帖子:3355 积分:24732 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2018/7/2 9:20:00 [只看该作者]

谢谢2位老师

 回到顶部
总数 40 上一页 1 2 3 4 下一页