問題可能聽著有點繞。
就是我的表單頁面個表單個數是不定的,因為有增加表單的按鈕,使用者可以通過按這個按鈕來增加表單個數,而表單的名字我是把它做了一個 ”首碼+遞增數字“ 的形式, 比如 ”array_1“, "array_2", 但是具體多少個是不定的,因為要看使用者增加了多少個表單,所以,我現在要把所有的帶 array_ 首碼的所有表單的值,放到一個數組裡面,怎麼實現呢? 關鍵問題是不表單的個數是未定的。
新手學習,不知道把問題描述清楚了沒,先謝過了
回複討論(解決方案)
是增加表單 還是增加表單元素
你一個頁面內有N個表單?
如果確實是有多個表單,我目前是用jquery動態地擷取所有的表單值,然後將其傳入後台
var postData="";$.each($("from"),function(i, n){ postData += $(n).serialize();});//通過ajax傳到後台.
本帖最後由 xuzuning 於 2013-12-28 16:32:56 編輯
不存在多個表單,只存在多個表單變數
foreach(preg_grep('/array_/', array_keys($_POST)) as $k) { res[$k] = $_POST[$k];}
$res 就是你需要的結果
其實你不是命名為 array_數字,而是命名為 array[] 就不需要那麼麻煩了
不存在多個表單,只存在多個表單變數
foreach(preg_grep('/array_/', array_keys($_POST)) as $k) { res[$k] = $_POST[$k];}
$res 就是你需要的結果
其實你不是命名為 array_數字,而是命名為 array[] 就不需要那麼麻煩了
感謝,如果命名是array[]的話怎麼做?
是增加表單 還是增加表單元素
你一個頁面內有N個表單?
如果確實是有多個表單,我目前是用jquery動態地擷取所有的表單值,然後將其傳入後台
var postData="";$.each($("from"),function(i, n){ postData += $(n).serialize();});//通過ajax傳到後台.
感謝,我說得有問題,是多個表單元素,就是多個input標籤,不是多個表單
多個表單input標籤,通過name屬性區分變數即可。
將同一組元素的name定義成數組即可,如下:
.........
php 接收就是
print_r($_POST['array']);
將同一組元素的name定義成數組即可,如下:
.........
php 接收就是
print_r($_POST['array']);
原來可以這樣,這樣方便,受教受教,多謝了!
print_r($_POST['array']['a1']);
print_r($_POST['array']['a2']);
這樣才可以區分input值
不存在多個表單,只存在多個表單變數
foreach(preg_grep('/array_/', array_keys($_POST)) as $k) { res[$k] = $_POST[$k];}
$res 就是你需要的結果
其實你不是命名為 array_數字,而是命名為 array[] 就不需要那麼麻煩了
jordan102 版主大大回答了我這個問題,還是萬分感謝