diff --git a/public/assets/js/require-form.js b/public/assets/js/require-form.js index 543fedd..376d54c 100755 --- a/public/assets/js/require-form.js +++ b/public/assets/js/require-form.js @@ -159,12 +159,31 @@ define(['jquery', 'bootstrap', 'upload', 'validator'], function ($, undefined, U 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') {