zoukankan      html  css  js  c++  java
  • EasyUI 另一种form提交方式

    (function ($) {
    window.XW = {}; //全局系统对象

    //异步请求统一调用方法
    XW.ajax = function (options, param, callback) {
    var p = {
    type: "get",
    url: null,
    dataType: "json", //数据类型
    cache: false, //或者设置true
    async: false, //是否异步
    timeout: 5000, //延迟时间,0 表示一直等待
    error: null, //失败的方法
    beforeSend: null, //加载前的方法
    complete: null //完成的方法
    };

    p = $.extend(p, options);
    p.url = p.url ? (p.url.indexOf("://") < 0 ? pathUrl + p.url : p.url) : null;

    $.ajax({
    type: p.type,
    url: p.url,
    cache: p.cache,
    dataType: p.dataType,
    data: param,
    timeout: p.timeout,
    success: callback,
    async: p.async,
    error: function (xmlHttpRequest, textStatus, errorThrown) {
    alert("错误:资源请求错误! 代码:" + textStatus + " 消息:" + errorThrown);
    }
    });
    };

    //提交表单(替换 EasyUI 表单提交方法)
    $.fn.formSubmit = function(options) {
    var p = {
    url: null, // 提交地址
    type: "post", // 提交方式,如果存在跨域请求,需要使用 get
    dataType: "json", // 数据类型
    param: null,
    onSubmit: null,
    onSuccess: null
    };

    p = $.extend(p, options);

    var form = $(this);
    //提交表单
    function submitForm(datas) {
    XW.ajax({ url: p.url, type: p.type, dataType: p.dataType }, datas, function (data) {
    if ($.isFunction(p.onSuccess)) { p.onSuccess(data); }
    });
    }
    //表单提交验证
    function formChecker(tar) { return tar.form("enableValidation").form("validate"); }
    //表单中的字段
    var fields = form.find("input[class^='easyui-'], select[class^='easyui-']");

    var formData = {};
    $.each(fields, function (i, o) {
    var id = $(o).attr("id");
    var type = $(o).attr("class").split(" ")[0];
    var isSingle;
    switch (type) {
    case "easyui-textbox": formData[id] = $(o)[type.split("-")[1]]("getText"); break;
    case "easyui-datebox":
    case "easyui-numberbox": formData[id] = $(o)[type.split("-")[1]]("getValue"); break;
    default:
    isSingle = $(o).attr("data-options").replace(/ /g, "").indexOf("multiple:true") < 0;
    formData[id] = $(o)[type.split("-")[1]](isSingle ? "getValue" : "getValues"); break;
    }
    });
    //添加额外参数
    if (p.param != null) { for (var n in p.param) { formData[n] = p.param[n]; } }

    if ($.isFunction(p.onSubmit)) {
    var checkForm = formChecker(form);
    if (checkForm) { submitForm(formData); }
    } else {
    submitForm(formData);
    }
    };
    })(jQuery);

  • 相关阅读:
    faster rcnn学习(三)
    too many values to unpack (expected 2)
    RuntimeWarning: overflow encountered in ubyte_scalars
    C#中excel读取和写入
    C#中使用Sql对Excel条件查询
    IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法IIS上部署MVC网站,打开后500错误
    C#微信公众平台账号开发,从零到整,步骤详细。
    VS快捷键大全
    ASP.NET将文件写到另一服务器
    开放api接口签名验证
  • 原文地址:https://www.cnblogs.com/huangf714/p/5907919.html
Copyright © 2011-2022 走看看