阅读:5529
回复:12
|
[表单]点取消一样会执行,,confirm没加return吗
if ($.MvcSheetUI.SheetInfo.ActivityCode == "Activity3") {
if (this.Action == "Submit") { alert(this.Action) 点取消一样会执行 //提交采购订单 } } 图片:R~KM91TYGL048C0[95)2OOH.png |
1楼#
发布于:2018-06-06 15:39
帖内置顶 – – 2018-06-11 14:07
验证是在提交前进行的。
我觉得你的需求是用户点确认后才去执行你要执行的后台方法,否则你就不去修改后台数据。 那么你可以重写Submit方法的。 $.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); //这里添加你要执行的代码。如果报错了 就不要执行下面的了!!! debugger; var SheetPostValue = that.GetMvcPostValue(that.Action_Submit, destActivity, postValue); that.PostSheet( { Command: that.Action_Submit, MvcPostValue: JSON.stringify(SheetPostValue) }, function (data) { that.ResultHandler.apply(that, [actionControl, data]); }); }) } 简单测试: 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 () { alert('确认了'); }) } 点击确认后 直接弹出对话框,不进行保存数据。道理一样的根据你的需求改就行了 |
|
|
3楼#
发布于:2018-06-04 17:03
首先我不知道你的这段代码是写在哪个方法里的。所以我无法给出解释,不过你可以看下面的代码
//前台验证事件 $.MvcSheet.Validate = function () { //这是你的代码 if ($.MvcSheetUI.SheetInfo.ActivityCode == "Activity3") { if (this.Action == "Submit") { alert(this.Action) return false; } } return true; } |
|
|
4楼#
发布于:2018-06-04 17:57
照你这样写,连confirm都不提示了 直接return false了 但依然执行alert(this.Action)
|
|
5楼#
发布于:2018-06-05 08:15
|
|
|
6楼#
发布于:2018-06-05 08:55
|
|
7楼#
发布于:2018-06-05 08:57
补充说下:加了return false; 我的方法执行了 但流程也不走下一步了
|
|
8楼#
发布于:2018-06-06 15:39
验证是在提交前进行的。
我觉得你的需求是用户点确认后才去执行你要执行的后台方法,否则你就不去修改后台数据。 那么你可以重写Submit方法的。 $.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); //这里添加你要执行的代码。如果报错了 就不要执行下面的了!!! debugger; var SheetPostValue = that.GetMvcPostValue(that.Action_Submit, destActivity, postValue); that.PostSheet( { Command: that.Action_Submit, MvcPostValue: JSON.stringify(SheetPostValue) }, function (data) { that.ResultHandler.apply(that, [actionControl, data]); }); }) } 简单测试: 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 () { alert('确认了'); }) } 点击确认后 直接弹出对话框,不进行保存数据。道理一样的根据你的需求改就行了 |
|
|
9楼#
发布于:2018-06-06 17:01
|
|
上一页
下一页