从 php 表单创建 csv 文件

问题描述 投票:0回答:0

我需要创建一个页面,根据客户订单生成一个 csv 文件,我在表单中添加行时遇到了问题——我不知道会有多少订单项目,所以我需要客户能够自己添加行,我找到了一个 JS 脚本,但在将其转换为我的需要后,我无法删除行。

    <form action="csv.php" method="post">
      <div id="form-fields">
        <div>
          <table><tr>
            <th>ID</th>
            <th>Ilość szt wyrobu</th>
            <th>Opis</th>
            <th>Opis zawartości linku</th>
            <th>Szerokość (cm)</th>
            <th>Wysokość (cm)</th>
            <th>Jednostka Miary</th>
            <th>Cennik</th>
            <th>Produkt</th>
            <th>Kategoria Lewy</th>
            <th>Kategoria Prawy</th>
            <th>Kategoria dół</th>
            <th>Kategoria góra</th>
            <th>Package Reference Number</th>
            <th>Packing Standard</th>
            <th>Podatki</th>
            <th>Wykończenie dół</th>
            <th>Wykończenie góra</th>
            <th>Wykończenie lewo</th>
            <th>Wykończenie prawo</th>
            <th>Technologia druku</th>
            <th>Cechy druku</th>
            <th>Notes For Packing</th>
            <th>data realizacji</th>
          </tr><tr>
            <th><label for="field1">ID1:</label></th>
            <th><input type="text" id="psc1" name="psc1" size="5"/></th>
            <th><input type="text" id="desc1" name="desc1" size="5" /></th>
            <th><input type="text" id="link_desc1" name="link_desc1" size="5" /></th>
            <th><input type="text" id="width1" name="width1" size="5" /></th>
            <th><input type="text" id="height1" name="height1" size="5"/></th>
            <th><input type="text" id="m2_1" name="m2_1" size="5"/></th>
            <th><input type="text" id="cennik" name="cennik" size="5"/></th>
            <th><input list="browsers" name="product1" id="product1" size="5"> <datalist id="browsers"><option value="Baner"><option value="Mesh"></option></datalist></th>
            <th><input list="browsers1" name="gr_finish_left1" id="gr_finish_left1" size="5"> <datalist id="browsers1"><option value="Zgrzew + oczka"><option value="Na ostro"></option></datalist></th>
            <th><input list="browsers2" name="gr_finish_right1" id="gr_finish_right1" size="5"> <datalist id="browsers2"><option value="Zgrzew + oczka"><option value="Na ostro"></option></datalist></th>
            <th><input list="browsers3" name="gr_finish_up1" id="gr_finish_up1" size="5"> <datalist id="browsers3"><option value="Zgrzew + oczka"><option value="Na ostro"></option></datalist></th>
            <th> <input list="browsers4" name="gr_finish_down1" id="gr_finish_down1" size="5"> <datalist id="browsers4"><option value="Zgrzew + oczka"><option value="Na ostro"></option></datalist></th>
            <th><input type="text" id="reference_number1" name="reference_number1" size="5"/></th>
            <th> <input list="browsers5" name="finish_left1" id="finish_left1" size="5"> <datalist id="browsers5"><option value="co 50cm"><option value="co 30cm"></option></datalist></th>
            <th><input list="browsers6" name="finish_right1" id="finish_right1" size="5"> <datalist id="browsers6"><option value="co 50cm"><option value="co 30cm"></option></datalist></th>
            <th><input list="browsers7" name="finish_up1" id="finish_up1" size="5"> <datalist id="browsers7"><option value="co 50cm"><option value="co 30cm"></option></datalist></th>
            <th><input list="browsers8" name="finish_down1" id="finish_down1" size="5"> <datalist id="browsers8"><option value="co 50cm"><option value="co 30cm"></option></datalist></th>
            <th><input list="browsers9" name="print1" id="print1" size="5"> <datalist id="browsers9"><option value="4+0"><option value="4+4"></option></datalist></th>
      </div>
      </tr>
      </table>
      </div>
      <br>
      <button type="button" onclick="addField()">Add</button>
      <button type="button" onclick="removeField()">Remove</button>
      <input type=submit value="Sent"/>
    </form>
<script>
  let fieldCount = 1;
  
  function addField() {
    fieldCount++;
    const div = document.createElement("div");
    div.innerHTML = `
    <tr>
            <th><label for="field1">ID1:</label></th>
            <th><input type="text" id="psc1" name="psc1" size="5"/></th>
            <th><input type="text" id="desc1" name="desc1" size="5" /></th>
            <th><input type="text" id="link_desc1" name="link_desc1" size="5" /></th>
            <th><input type="text" id="width1" name="width1" size="5" /></th>
            <th><input type="text" id="height1" name="height1" size="5"/></th>
            <th><input type="text" id="m2_1" name="m2_1" size="5"/></th>
            <th><input type="text" id="cennik" name="cennik" size="5"/></th>
            <th><input list="browsers" name="product1" id="product1" size="5"> <datalist id="browsers"><option value="Baner"><option value="Mesh"></option></datalist></th>
            <th><input list="browsers1" name="gr_finish_left1" id="gr_finish_left1" size="5"> <datalist id="browsers1"><option value="Zgrzew + oczka"><option value="Na ostro"></option></datalist></th>
            <th><input list="browsers2" name="gr_finish_right1" id="gr_finish_right1" size="5"> <datalist id="browsers2"><option value="Zgrzew + oczka"><option value="Na ostro"></option></datalist></th>
            <th><input list="browsers3" name="gr_finish_up1" id="gr_finish_up1" size="5"> <datalist id="browsers3"><option value="Zgrzew + oczka"><option value="Na ostro"></option></datalist></th>
            <th> <input list="browsers4" name="gr_finish_down1" id="gr_finish_down1" size="5"> <datalist id="browsers4"><option value="Zgrzew + oczka"><option value="Na ostro"></option></datalist></th>
            <th><input type="text" id="reference_number1" name="reference_number1" size="5"/></th>
            <th> <input list="browsers5" name="finish_left1" id="finish_left1" size="5"> <datalist id="browsers5"><option value="co 50cm"><option value="co 30cm"></option></datalist></th>
            <th><input list="browsers6" name="finish_right1" id="finish_right1" size="5"> <datalist id="browsers6"><option value="co 50cm"><option value="co 30cm"></option></datalist></th>
            <th><input list="browsers7" name="finish_up1" id="finish_up1" size="5"> <datalist id="browsers7"><option value="co 50cm"><option value="co 30cm"></option></datalist></th>
            <th><input list="browsers8" name="finish_down1" id="finish_down1" size="5"> <datalist id="browsers8"><option value="co 50cm"><option value="co 30cm"></option></datalist></th>
            <th><input list="browsers9" name="print1" id="print1" size="5"> <datalist id="browsers9"><option value="4+0"><option value="4+4"></option></datalist></th>
   </tr>
            `;
    document.getElementById("form-fields").appendChild(div);
  }
  
  function removeField() {
    if (fieldCount > 1) {
      const div = document.getElementById(`field${fieldCount}`).parentNode;
      document.getElementById("form-fields").removeChild(div);
      fieldCount--;
    }
  }
</script>
javascript html
© www.soinside.com 2019 - 2024. All rights reserved.