使用 ajax 保存带有转发器字段的表单

Save form with repeater fields with ajax

我在 html 中有一个表单,用户可以根据需要添加任意数量的成员。

所以我有一个 div 成员的详细信息 :

<div class="form-group form-group-100 clearfix">
    <label>Name:</label>
    <input type="text" name="namemember">
//..........
</div>

还有一个添加新成员的按钮:

<button id="b1" class="btn add-more" type="button">Add Member +</button>

这是添加新成员的 jquery 代码:

<script>
jQuery(document).ready(function(){
  var member=jQuery('.form-group-100').html();
  jQuery(".add-more").click(function(e){
    alert('A New Member Added');
    e.preventDefault();
    jQuery('.form-group-100').after("<div class="+""+"form-group-100"+"clearifx"+">"+member+"</div>");
  });
});

这是通过 ajax 发送数据的 jquery 代码:

<script>
jQuery(document).ready(function($) {
  // Custom From submistion ADD NEW
  jQuery(function($) {
    $('#addnew').click(function(event){
      event.preventDefault();
      var data = $('.myform').serialize();
      var url = window.location.href;
      data += "&url=" + url;

      $.ajax({
        url: "http://localhost/mysite/wp-content/themes/mytheme/save_team.php",
        type: "POST",
        data: data,
        complete: function (json) {
        var jsonData = $.parseJSON(json.responseText);
        if (jsonData['msg'] == 'success') {
          alert("Success");
        } else {
          alert("Sorry! Something went wrong. Please try again.");
        }
      }
      });
    });
  });
  </script>

我知道如果我有固定数量的成员,我可以这样读取数据:

$_POST["namemember"];

但是现在当我有可变数量的成员时,我如何读取传递的数据?以及如何区分每个成员的详细信息?

你们在BBDD里存成员信息吗?

如果答案是肯定的,您可以进行查询以获取所有成员及其详细信息并将其保存在变量中。

使用数组而不是像

这样的单数名称
<input type="text" name="namemember[]">

您可以在 PHP 中访问它,例如:

$namemember = unserialize($_POST["namemember"]);
foreach( $namemember as $value ) {
 print $value;
}

现在$_POST['namemember']是一个字段数组