阅读:6384
回复: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('确认了'); }) } 点击确认后 直接弹出对话框,不进行保存数据。道理一样的根据你的需求改就行了 |
|
|
2楼#
发布于:2021-04-02 11:12
啊,我误人子弟了,$.MvcSheet.SubmitAction.OnActionDone 提交后事件是无论什么情况都会进入,后来我是改造了一下这个提交后事件,放在弹窗点击确认后执行,然后把方法写在这个事件中执行解决的
|
|
3楼#
发布于:2021-03-02 18:38
顺序是先验证再提交,如果想提交后才执行方法则不要写在$.MvcSheet.Validate 验证方法中,可以写在$.MvcSheet.SubmitAction.OnActionDone = function () { ... } 提交完成事件中
|
|
4楼#
发布于:2020-06-21 10:53
|
|
5楼#
发布于:2018-06-06 19:46
|
|
|
6楼#
发布于:2018-06-06 17:01
|
|
7楼#
发布于: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('确认了'); }) } 点击确认后 直接弹出对话框,不进行保存数据。道理一样的根据你的需求改就行了 |
|
|
8楼#
发布于:2018-06-05 08:57
补充说下:加了return false; 我的方法执行了 但流程也不走下一步了
|
|
9楼#
发布于:2018-06-05 08:55
|
|
上一页
下一页