ajax获取数据后初始化表单,以及提交表单到后台

当前的代码是结合jquery使用,拓展了jquery的方法,可以直接通过$("#form1").formSerialize(data);来使用
给$.fn命名空间添加的方法,可以直接使用,这个是直接给jquery拓展的方法;
当前方法formdate如果有数据将会初始化表单中对应的文本框,或者是选择框;
如果fromdate为空,则是获取当前表单的所有数据,提交到后台;

$.fn.formSerialize = function (formdate) { var element = $(this); if (!!formdate) { for (var key in formdate) { var $id = element.find('#' + key); var value = $.trim(formdate[key]).replace(/ /g, ''); var type = $id.attr('type'); if ($id.hasClass("select2-hidden-accessible")) { type = "select"; } switch (type) { case "checkbox": if (value == "true") { $id.attr("checked", 'checked'); } else { $id.removeAttr("checked"); } break; case "select": $id.val(value).trigger("change"); break; default: $id.val(value); break; } }; return false; } var postdata = {}; element.find('input,select,textarea').each(function (r) { var $this = $(this); var id = $this.attr('id'); var type = $this.attr('type'); switch (type) { case "checkbox": postdata[id] = $this.is(":checked"); break; default: var value = $this.val() == "" ? " " : $this.val(); if (!$.request("keyValue")) { value = value.replace(/ /g, ''); } postdata[id] = value; break; } }); if ($('[name=__RequestVerificationToken]').length > 0) { postdata["__RequestVerificationToken"] = $('[name=__RequestVerificationToken]').val(); } return postdata; };

//下面的方法将会获取当前form中的所有数据提交到后台;
function submitForm() {

  if (!$('#form1').formValid()) {
    return false;
  }  
  $.submitForm({
    url: "/ArchivesManage/Manage/SubmitForm?keyValue=" + keyValue,
    param: $("#form1").formSerialize(),
    success: function () {
    $.currentWindow().$("#gridList").trigger("reloadGrid");
    }
  })
}

  

posted @ 2017-08-04 15:15  无边落木  阅读(2888)  评论(0编辑  收藏  举报