2009-11-23 116 views
0

我正在處理一個Web表單,該表單根據用戶需要爲多個日期動態添加文本字段。本質上,這是發生了什麼......用戶轉到表單,它具有用戶的主日期文本字段,如果用戶希望他可以通過點擊「添加日期」按鈕來添加日期文本字段。的JavaScript如下:Javascript + PHP +動態文本字段+ Jquery

function addDate() { 
        current++; 
        var strToAdd = '<p><input type="text" id="date'+current+'" name="classDate'+current+'" class="required" /> <input type="text" id="alt'+current+'" name="classDate'+current+'" class="required" /></p>' 
        //console.log(strToAdd) 
        $('.dynDate').append(strToAdd) 
        $('#date'+current+'').datepicker({altField: '#alt'+current+'', altFormat: 'DD, d MM, yy'}); 
      } 

這增加了兩個日期字段的形式把jQuery的日期選擇器的形式爲每個新的日期字段一起。像這樣:http://jqueryui.com/demos/datepicker/#alt-field ...

無論如何,我的問題是我如何將數據從PHP的動態文本字段中放入MYSQL數據庫?我是通過他們循環還是什麼?我想我真的不確定如何很好地操作動態字段。

感謝您的幫助!

亞倫

回答

1

名稱彷彿它正在被添加到PHP陣列(未在IDS)每個日期字段:

<input type="text" id="date'+current+'" name="classDate[]" class="required" /> 

使用[]語法(排序的array_push()快捷方式),classDate將自動成爲一個數組$ _POST。然後,只需在該數組上執行for循環。

+0

工作出色... – Ratty 2009-11-24 05:49:18

1

我往往會發現更容易分析,如果我有這樣的: classDate_x,其中x是計數器,所以我以後可以把它分解。

但是,你可以循環通過在php中的名稱,直到你沒有得到一個匹配。

我使用: isset($_POST['classDate_x'])來確定是否有一個。一旦我找到沒有設置的地方,我就退出我的處理循環。

由於您使用的是jQuery,您可能會發現僅僅提交用戶選擇日期的日期會更容易,因爲您可以在每個動態元素中包含該功能。

+0

非常感謝,我將不得不看看! =) – Ratty 2009-11-23 16:09:15