easyui防止重複提交及進度條報錯解決: Cannot read property 'onClose' of undefined

使用easyui框架 有個缺點就是響應有些慢,比如使用dialog 提交表單的時候可能要經過幾秒才能提交上,如果用戶連續點擊提交按鈕,可能造成重複提交。有個辦法可以解決這個問題,就是使用進度條,也是easyui自帶的。像如下這樣:

  $.messager.progress();
            var form = $("#addcompany");
            form.ajaxSubmit({
                type : "post",
                url : "${ctx}/company/addCompany.do",
                data : $.param({
                    dealType : dealType
                }),
                dataType : "json",
                success : function(data) {
                    $.messager.progress('close'); 
                    if (data == "exist") {
                             $.messager.alert("系統提示","公司名稱已存在,請重新輸入!");
                    } else {
                         $.messager.alert("系統提示","公司添加成功");
                        initCompany();
                        $("#company_info").dialog("close");
                    }

                },
                error : function(xhr, errorType, error) {
                     $.messager.progress('close'); 
                    alert(xhr + ":" + errorType + ":" + error);
                }
            });

這樣在提交和相應的過程中會顯示進度條,防止用戶重複提交。
然而這樣做又會出現一個問題:
進度條報錯:
f12下查看這個錯誤是這樣的:
這裏寫圖片描述
這個錯誤算是easyui裏面的一個小bug.
找到它報錯的那行,改下源碼就好。
改成下面這樣:
這裏寫圖片描述

發佈了160 篇原創文章 · 獲贊 234 · 訪問量 59萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章