Skip to main content

Form 表單遇到多個相同 name 的解決方法

在以 php 為 backend 的狀況

在 php 中,我們可以將 name 得名稱設為 "xxx[]",這樣在表單提交的時候可以獲得一個 array 的資料。如果沒有使用中括弧,在多個相同 name 提交的狀況下,只會獲得最後一個資料。

在以 Node.js 為 backend 的狀況

在 Node.js 為 backend 的狀況下,我們就無法使用中括弧的方法獲得 array 資料。但我們可以透過 foreach 或 for 迴圈的方法,自行將資料整理成 array 在觸發 API 或進行資料的處理。


Table 欄位動態增加解決方法

innerHTML

直接以 string 的方式將 html tag 組合完畢,如

<tr><td>123</td></tr>

再透過 innerHTML 指定從哪個元素插入 但相對的如果欄位數量較多,在做組合時較為麻煩

透過 table 的 insertRow 和 insertCell 來解決

let table = document.getElementById("table");
let tr = table.insertRow(-1);
let td1 = td.insertCell(0);
td1.innerHTML = <span>RED</span>
  • 透過 insertRow 來指定從哪一列開始增加列
  • 0 為從目前表格最上方,-1 為表格最下方
  • insertCell 來增加該列的欄位
  • 欄位內的內容可以透過 innerHTML 直接指定或透過 createElement 來生成