Etable/formType/派值範例
出自六年制學程
$formType=array('長欄名'=>array('select',array('值'=>'提示文字','值'=>'提示文字','值'=>'提示文字',…)), '長欄名'=>array('select2',第一選單陣列,第二選單長欄名,第二選單二維陣列,第二選單以提示代表欄值), '長欄名'=>array('select22',array(0=>'===請選擇===')), '長欄名'=>array('radio' ,array('值'=>'提示文字','值'=>'提示文字','值'=>'提示文字',…)), '長欄名'=>array('radioyn',array('0之提示','1之提示')), '長欄名'=>array('checkbox',array('勾選後送值'=>'提示')), '長欄名'=>array('checkbox',array('勾選後送值'=>'提示','勾選後送值'=>'提示','勾選後送值'=>'提示',…)), '長欄名'=>array('bitCheckbox',array('1'=>'提示','2'=>'提示','4'=>'提示',…)), '長欄名'=>array('date'),改畢,因欄值'%Y-%m-%d'是小日曆認得的格式,所以預選日期為欄值日期 '長欄名'=>array('time'), '長欄名'=>array('datetime'), '長欄名'=>array('auto',array('plain','html','wiki','tex')),改畢,$this->formType中未定義,則$this->fields[$i]['formType']會自動將該欄定為auto型,如欄型為TEXT則form出textarea,其他出文字欄。第二元素為語法組合陣列,預設為plain(純文本),要wiki型,欄型須為TEXT,該改。 '長欄名'=>array('auto',array('plain','html','wiki','tex'),array('showColExplain'=>'填寫提示')), '長欄名'=>array('text',array('showColExplain'=>'填寫提示')), '長欄名'=>array('rangeNumber',array('min'=>'下限值','max'=>'上限值','step'=>'步進值','showColValueGuide'=>'函式名')), '長欄名'=>array('file',array('docsPath'=>文件根目錄,'paths'=>可選的路徑陣列,'showColValueGuide'=>'函式名')), '長欄名'=>array('hidden',函式名,表單元素出現時機), '長欄名'=>array('unix_time','Y-m-d<bR>H:i:s',表單元素出現時機),待改,因欄值'%s'是小日曆不認得的格式,所以預選日期為跑到當天日期,要認得欄值格式須為「年-月-日 [10] 時:分」,用Calendar.setDateFormat('%s');無效。此事無解,參看http://192.168.3.175/et/class/calendar/jstest.htm,不是每一種格式jscalendar都可以認得出日期,如Date #0:的%s會解不出日期,Date #2:的…會解錯日期,Date #4:解不出日期。 '長欄名'=>array('oneWaySwitch',array(0=>'按鈕字',值=>'按完字')), '長欄名'=>array('searchSelect',array(''=>'===輸入提示===')), '長欄名'=>array('function',函式名), '長欄名'=>array('wrap'), );
searchSelect/searchSelect2 派值範例 兩者作用一樣,都是產生「一個部分文字輸入框 + 連動選單」,差別在:
- searchSelect:一上一下兩個欄,範例為 http://jendo.org/jendo/6year/sharingBooksToBorrowOld.php
- searchSelect2:一左一右,組成一組「欄位盤」,範例為 http://jendo.org/jendo/6year/sharingBooksToBorrow.php
select2/select22 派值範例 兩欄為連動關係,須同時存在
- 例如,依 ABC 欄的選擇結果,連動變換 DEF 欄的選單,則 ABC 欄與 DEF 欄的派值範例如下:
- 'ABC'=>array('select2',array(''=>'===請選擇===','1'=>'食','2'=>'衣','3'=>'行'),'DEF',$二維,1),
- 'DEF'=>array('select22',array(0=>'===請選擇==='))
進一步說明 ABC 欄的派值指示陣列
第0元素 | 第1元素 | 第2元素 | 第3元素 | 第4元素 |
---|---|---|---|---|
select2 | array(''=>'===請選擇===','1'=>'食','2'=>'衣','3'=>'行') | DEF | $二維 | 1(或0) |
欄型 | 第一選單陣列 | 第二選單長欄名 | 第二選單二維陣列 | 第二選單以提示代表欄值 |
指示前須先定義 $二維(第二選單二維陣列)如下:
$二維=array(); $二維['1']['']='===請選擇==='; $二維['1']['1']='內食'; $二維['1']['2']='外食'; $二維['2']['']='===請選擇==='; $二維['2']['1']='衣帽'; $二維['2']['2']='美容保養'; $二維['2']['3']='其他'; $二維['3']['']='===請選擇==='; $二維['3']['1']='車資'; $二維['3']['2']='油錢'; $二維['3']['3']='停車費'; $二維['3']['4']='其他';
而被連動欄位的選單指示則較為固定:
- 長欄名'=>array('select22',array(0=>'===請選擇==='))
在此例中為:
- 'DEF'=>array('select22',array(0=>'===請選擇==='))