easyui 按钮重复点击问题

  1.           我用的easyui技术,表单提交用的ajax。在前端处理控制的思想如下:

      点击保存后,马上让保存按钮disable掉,即灰显。如果ajax提交完毕后,并得到返回结果(不管结果是成功保存还是保存失败,我们不用管,只要有返回消息),我们马上让保存按钮enable掉,重新恢复作用。

 

代码

         var addStores = $('<div/>').dialog(
                            {
                                title : '添加门店',
                                href : '${pageContext.request.contextPath}/admin/storesAdd.jsp',
                                width : 615,
                                height : 365,
                                modal : true,
                                buttons : [ {
                                    text : '保存',
                                    handler : function() {
                                        var button = this;
                                        $('#admin_stores_addForm').form('submit',{
                                                            url : '${pageContext.request.contextPath}/storesAction!add.action',
                                                            onSubmit: function(){   //对表单进行校验,如果校验通过,则disable掉保存按钮,如果没有通过,则不用管。
                                                                var isValid = $(this).form('validate');
                                                                if (!isValid){
                                                                    console.info("==========================="+isValid)//$.messager.progress('close');    
                                                                    return isValid;
                                                                }else {
                                                                    console.info("111111111111111111111111111111"+isValid);
                                                                    $(button).linkbutton('disable');
                                                                    return isValid;    // return false will stop the form submission
                                                                }
                                                                
                                                            },
                                                            success : function(r) {
                                                                $(button).linkbutton('enable');   //提交完,并且处理完毕返回消息后,马上恢复掉保存按钮,enable
                                                                obj = $.parseJSON(r);
                                                                if (obj.success) {
                                                                    addStores.dialog('close');
                                                                    storesdatagrid.datagrid('reload');
                                                                    
                                                                }
                                                                $.messager.show({
                                                                    title : '提示',
                                                                    msg : obj.msg
                                                                });
                                                            }
                                                        });
                                    }
                                } ],
                                onClose : function() {
                                    $(this).dialog('destroy');
                                },
                                onLoad : function() {
                                    
                                }
                            });

 

 

2. 本来还有个方法,但是我没有尝试,不晓得有没有用,先在这里记一笔,就是用ajax的最原始的处理方法,不是像上面的那种,进行封装过。

             jQuery.ajax([options])  

 

             async      Boolean

 

            (默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。

3.$.ajax({

    type:'POST',
    url:url,
    data:obj,
    dataType:'json',
    beforeSend: function () {
    $.messager.progress({ 
       title: '提示', 
       msg: '文件上传中,请稍候……', 
       text: '' 
    });
    },
       complete: function () {
        $.messager.progress('close');
    },
    success:function(data){
    $("#uploadHtmlUrl").val(data.fileUrl);
            $("#uploadHtml").attr("src", data.fileUrl);
    }
    });

猜你喜欢

转载自windpoplar.iteye.com/blog/2331683
今日推荐