dougou6727 2018-12-18 07:54
浏览 46

动态多输入字段,无法发送POST数据

I have problem with POST data from array in dynamically generating inputs fields. I am using jquery for generate and would like to send from ajax, i know how to do it probably.

Everytime when i POST data, i had only one value in array. Could you help me with that? Many thanks.

<div class = "col-md-4">
   <div class="form-group multiple-form-group input-group">
      <select class = "form-control" name = "cargos[]" required>
         <option value = "#" selected disabled>Wybierz ładunek</option>
         <?php
            $sql = mysqli_query($conn, "SQL Code");
            while($row = mysqli_fetch_assoc($sql)){ ?>
            <option value = "<?php echo ?>"><?php echo ?></option>
         <?php } ?>
      </select>
      <input type="number" name="values[]" class="form-control">
      <span class="input-group-btn">
         <button type="button" class="btn btn-success btn-add">+</button>
      </span>
   </div>
</div>

Code from jQuery to generating multiple fields

(function ($) {
$(function () {

    var addFormGroup = function (event) {
        event.preventDefault();

        var $formGroup = $(this).closest('.form-group');
        var $multipleFormGroup = $formGroup.closest('.multiple-form-group');
        var $formGroupClone = $formGroup.clone();

        $(this)
            .toggleClass('btn-success btn-add btn-danger btn-remove')
            .html('–');

        $formGroupClone.find('input').val('');
        $formGroupClone.find('.concept').text('Phone');
        $formGroupClone.insertAfter($formGroup);

        var $lastFormGroupLast = $multipleFormGroup.find('.form-group:last');
        if ($multipleFormGroup.data('max') <= countFormGroup($multipleFormGroup)) {
            $lastFormGroupLast.find('.btn-add').attr('disabled', true);
        }
    };

    var removeFormGroup = function (event) {
        event.preventDefault();

        var $formGroup = $(this).closest('.form-group');
        var $multipleFormGroup = $formGroup.closest('.multiple-form-group');

        var $lastFormGroupLast = $multipleFormGroup.find('.form-group:last');
        if ($multipleFormGroup.data('max') >= countFormGroup($multipleFormGroup)) {
            $lastFormGroupLast.find('.btn-add').attr('disabled', false);
        }

        $formGroup.remove();
    };

    var selectFormGroup = function (event) {
        event.preventDefault();

        var $selectGroup = $(this).closest('.input-group-select');
        var param = $(this).attr("href").replace("#","");
        var concept = $(this).text();

        $selectGroup.find('.concept').text(concept);
        $selectGroup.find('.input-group-select-val').val(param);

    }

    var countFormGroup = function ($form) {
        return $form.find('.form-group').length;
    };

    $(document).on('click', '.btn-add', addFormGroup);
    $(document).on('click', '.btn-remove', removeFormGroup);
    $(document).on('click', '.dropdown-menu a', selectFormGroup);

}); })(jQuery);

For importing data to database i am using:

$cargo = $_POST['cargo'];
$tonnages = $_POST['tonnages'];
      for($x = 0; $x < count($cargos); $x++) {
    mysqli_query($conn, "INSERT INTO cargos_specialOrder (specialOrder_ID, cargo_ID, tonnages) VALUES ('$index', '$cargos[$x]', '$tonnages[$x]')");
  }


    $("form").submit(function(e) {
  e.preventDefault();
  var formData = new FormData($("form")[0]);

  $.ajax({
    type: 'POST',
    url: 'php/newSpecialOrder.php',
    data: formData,
    success: function(response) {
      if(response == 'done') {
        $.confirm({
          title: 'Gotowe',
          content: 'Zgłoszenie zostało wysłane',
          type: 'green',
          typeAnimated: true,
          buttons: {
            close: function(){
              location.href = "index.php"
          }
        }
        });
      }
    },
    cache: false,
    contentType: false,
    processData: false
  });
});
  • 写回答

1条回答 默认 最新

  • duanemei2194 2018-12-18 08:56
    关注

    you have a problem in this section of the code:

    <?php
                $sql = mysqli_query($conn, "SQL Code");
                while($row = mysqli_fetch_assoc($sql)){ ?>
                <option value = "<?php echo ?>"><?php echo ?></option>
             <?php } ?>
    

    echo must have a parameter to be printed on screen, so fix this part and you should be able to submit.

    评论

报告相同问题?

悬赏问题

  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退
  • ¥20 win系统的PYQT程序生成的数据如何放入云服务器阿里云window版?
  • ¥50 invest生境质量模块