From 332e786a830cc22b3d855ad1d305eebdc667a567 Mon Sep 17 00:00:00 2001 From: Karson <karsonzhang@163.com> Date: Mon, 28 Aug 2017 10:50:31 +0800 Subject: [PATCH] 修复复选框、筛选列表为空时不更新的BUG 根据Ajax返回的token修改表单中token的值 --- public/assets/js/require-backend.min.js | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/public/assets/js/require-backend.min.js b/public/assets/js/require-backend.min.js index a9f1687..30f08b4 100644 --- a/public/assets/js/require-backend.min.js +++ b/public/assets/js/require-backend.min.js @@ -10898,12 +10898,31 @@ define('form',['jquery', 'bootstrap', 'upload', 'validator'], function ($, undef type = type && (type === 'GET' || type === 'POST') ? type : 'GET'; url = form.attr("action"); url = url ? url : location.href; + //修复当存在多选项元素时提交的BUG + var params = {}; + var multipleList = $("[name$='[]']"); + if (multipleList.size() > 0) { + var postFields = form.serializeArray().map(function (obj) { + return $(obj).prop("name"); + }); + $.each(multipleList, function (i, j) { + if (postFields.indexOf($(this).prop("name")) < 0) { + params[$(this).prop("name")] = ''; + } + }); + } //调用Ajax请求方法 Fast.api.ajax({ type: type, url: url, - data: form.serialize(), - dataType: 'json' + data: form.serialize() + (params ? '&' + $.param(params) : ''), + dataType: 'json', + complete: function (xhr) { + var token = xhr.getResponseHeader('__token__'); + if (token) { + $("input[name='__token__']", form).val(token); + } + } }, function (data, ret) { $('.form-group', form).removeClass('has-feedback has-success has-error'); if (data && typeof data === 'object' && typeof data.token !== 'undefined') { -- libgit2 0.24.0