阅读:2716 回复:6

java 10.5 表单提交以后 弹出的提示框 可以在点确定以后才执行方法

楼主#
更多 发布于:2019-03-05 16:27
我想在提交 点了确定以后 修改表单的一个值  寻找不到那个确定的按钮的点击事件 或者 有其他的办法可以绕开吗 流程上的业务服务没办法对本张表单进行操作 还有别的办法可以在点了提交并且点确定才改变一个字段的值吗
岩竹玉雨
20

帖子

840

跟帖

205241

积分

论坛版主
论坛版主
  • 社区居民
  • 忠实会员
2楼#
发布于:2019-03-05 20:06
注意看注释,注意看注释,注意看注释
public override void SaveDataFields(MvcPostValue MvcPost, MvcResult result)
{
//获取提交表单的数据 这种是还没有保存在数据库中
var val=MvcPostValue.BizObject.DataItems["字段编码"].V;
//先保存
base.SaveDataFields(MvcPost, result);

//取值  
//在base.SaveDataFields之后用this.ActionContext.InstanceData取的是已经保存了的值
this.ActionContext.InstanceData["字段编码"].Value;
this.ActionContext.InstanceData["字段编码"].Value = "赋值";
//取子表数据
BizObject[] obj= (BizObject[])this.ActionContext.InstanceData["子表编码"].Value;
for循环修改obj
//子表赋值
this.ActionContext.InstanceData["子表编码"].Value = obj;
}
发问题贴的时候,可以@一下我,我就能更快的知道了
金木研
43

帖子

93

跟帖

1761

积分

黄金榴莲
黄金榴莲
3楼#
发布于:2019-03-06 13:38
岩竹玉雨:注意看注释,注意看注释,注意看注释
public override void SaveDataFields(MvcPostValue MvcPost, MvcResult result)
{
//获取提交表单的数据 这种是还没有保存在数据库...
回到原帖
大神 这个应该写在哪里呢
1
岩竹玉雨
20

帖子

840

跟帖

205241

积分

论坛版主
论坛版主
  • 社区居民
  • 忠实会员
4楼#
发布于:2019-03-06 14:32
金木研:大神 这个应该写在哪里呢回到原帖
你问的是java版的,我先去试试java版的,在回复你。
发问题贴的时候,可以@一下我,我就能更快的知道了
岩竹玉雨
20

帖子

840

跟帖

205241

积分

论坛版主
论坛版主
  • 社区居民
  • 忠实会员
5楼#
发布于:2019-03-06 15:20
方法1:
//js 代码,重写submit方法。debugger处可以编辑提交数据。:
 $.MvcSheet.Submit=function (actionControl, text, destActivity, postValue) {
            if ($.MvcSheetUI.SheetInfo.IsMobile) {
                var controls = $("#divSheet input[data-type='SheetTextBox']");
                controls.each(function () {
                    $(this).trigger("change");
                });
            }
            if (!$.MvcSheet.ActionValidata(actionControl)) return false;
            var that = this;
            //这个就是弹框确定事件
           $.MvcSheet.ConfirmAction(SheetLanguages.Current.ConfirmDo + "【" + text + "】" + SheetLanguages.Current.Operation + "?", function () {
                $.LoadingMask.Show(SheetLanguages.Current.Sumiting);
                var SheetPostValue = that.GetMvcPostValue(that.Action_Submit, destActivity, postValue);
 debugger;
                that.PostSheet(
                    {
                        Command: that.Action_Submit,
                        MvcPostValue: JSON.stringify(SheetPostValue)
                    },
                    function (data) {
                        that.ResultHandler.apply(that, [actionControl, data]);
                    });
            })
        }
方法2:表单验证接口里完成修改数据功能

// 表单验证接口
$.MvcSheet.Validate = function() {
        // this.Action 表示当前操作的按钮名称
        var nameText = $.MvcSheetUI.GetControlValue("mvcName"); // 根据数据项编码获取页面控件的值
        // 填写申请单环节,设置 mvcName 必填
        if ($.MvcSheetUI.SheetInfo.ActivityCode == "Apply") {
                if (this.Action == "Submit") {
                         if (!nameText) { //赋值
                         $.MvcSheetUI.SetControlValue("mvcName","值");

                         }
                 }        
         }
         return true;
 }
发问题贴的时候,可以@一下我,我就能更快的知道了
6楼#
发布于:2019-03-14 13:42
好的 感谢
游客

返回顶部