我正在修改作爲Web應用程序一部分的表單組件,以支持用戶在運行時添加和刪除額外的表單字段。允許用戶在運行時向表單添加字段
從形式的數據被設置好的的PHP對象時的形式被提交:
<?php
class users {
public function setName($name){
(...)
}
public function getName(){
(...)
}
public function setSomeAttribute($name){
(...)
}
public function getSomeAttribute(){
(...)
}
}
像這樣生成的形式:
$form = new Form();
$form->addField('Text', 'Name', (... some other parameters...))
->addField('Address', 'SomeAttribute', (... some other parameters...));
含有的樹生成的圖代表每個字段的對象(某些「字段」,例如地址可以包含子字段,如文本輸入
由於我們知道對象屬性的名稱,因此表單c然後,omponent可以使用getter和setter將表單字段的結果輕鬆地綁定到相應的對象屬性。
我現在面臨的問題是:我需要允許用戶在運行時添加字段。這將工作使用Jquery,也爲沒有javascript的用戶提供備用服務。
假設我們有一個頁面,用戶可以在其中編輯他的個人資料並添加多個送貨地址。他將會有一個按鈕「添加地址」。點擊這個按鈕會出現以下結果:
- 對於啓用了javascript的用戶,用戶將立即看到一個新的「地址字段」,它包含幾個下拉菜單和添加的文本字段。
- 對於未啓用javascript的用戶,頁面將刷新,並添加由幾個下拉列表和文本字段組成的新「地址字段」。
讓PHP方知道這些新字段存在並且我們需要從他們發佈的數據的最佳方式是什麼?