如何处理多标签表单(带或不带jquery)


How to deal with multi-tab forms( with or without jquery)

我有一个大页面/表单划分为选项卡,现在的要求是,每个选项卡都应该有一个保存按钮,该按钮将提交该选项卡中的字段。并且还应该有一个全局保存按钮,用于保存所有选项卡中的数据。

我这样做的想法是,为每个选项卡制作单独的表单,并使用jquery serialize来发布它们,但是有些表单具有图像上传和ckeditor字段,这些字段不能很好地与jquery配合使用。

任何想法,关于解决这个问题的最佳方法是什么?

一个低影响的 appoarch 是保留你的 3 个表格。然后将您的"表单合并"附加到全局表单的提交元素:

对于 HTML:

<form id="form1"> ... </form>
<form id="form2"> ... </form>
<form id="global"></form>

.JS:

$("#global").submit(function(e){
  var $ch1 = $("#form1").children();
  var $ch2 = $("#form2").children();
  $(this).append($ch1).append($ch2);
  //Let the form get submitted...
});

使用 jQuery,您可以逐个提交每个表单

$("#globalsubmit").submit(function(e){
  //simply submit all the forms one by one
  $("#form1").submit();
  $("#form2").submit();
  return false;
});

或找到所有表格并立即提交

$("#globalsubmit").submit(function(e){
  $("form").each(function() { $(this).submit(); });
  return false;
});

没有jQuery。以下是您可能需要遵循的几个步骤。

  1. 提交表单,不处理数据,而是存储在会话中。
  2. 从会话中的所有表单中收集所有数据,最后批量提交数据。