Etable/MVC:修訂版本之間的差異
出自六年制學程
(→「桃園市自主學習3.0實驗室推薦表單」網頁,資料庫,程式碼對照表) |
(→Form) |
||
(未顯示2位用戶所作出之30次版本) | |||
第 6 行: | 第 6 行: | ||
==C== | ==C== | ||
+ | ===Form=== | ||
+ | HTML5 之下各種表單元素的樣子,請參考[[HTML/表單]] | ||
+ | |||
+ | 以下列舉 etable 的各種 formType | ||
+ | <table class='nicetable' style='width:100%'> | ||
+ | <tr> | ||
+ | <th></th><th>formType</th><th>欄型</th><th>物件</th><th>參考</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>選單</td><td>select</td><td>皆可</td><td>XoopsFormSelect</td><td>recommend.php</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>連動選單</td><td>select2</td><td>皆可</td><td>XoopsFormSelect</td><td>todo.php</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>連動選單</td><td>select22</td><td>皆可</td><td>XoopsFormSelect</td><td>todo.php</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>單選</td><td>radio</td><td>皆可</td><td>XoopsFormRadio</td><td>todo.php</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>是否擇一</td><td>radioyn</td><td>皆可</td><td>XoopsFormRadioYN</td><td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>核取方塊</td><td>checkbox</td><td>皆可</td><td>XoopsFormCheckBox</td><td>todo.php</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>複選</td><td>checkbox</td><td>以;間開的長字串</td><td>XoopsFormCheckBox</td><td>todo.php</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>位元複選</td><td>bitCheckbox</td><td>整數</td><td>XoopsFormCheckBox</td><td>emUsers.php</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>日期</td><td>date</td><td>日期或字串</td><td>XoopsFormText配小日曆</td><td>todo.php</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>時分秒</td><td>time</td><td>時間或字串</td><td>XoopsFormTime</td><td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>日期時間</td><td>datetime</td><td>datetime</td><td>XoopsFormDateTime</td><td>Calendar-.php</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>文字區塊</td><td>auto</td><td>text</td><td>XoopsFormTextArea</td><td>todo.php</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>背景填值</td><td>hidden</td><td>皆可</td><td>XoopsFormHidden</td><td>todo.php,showNc.php</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Unix時間</td><td>unix_time</td><td>整數</td><td>XoopsFormHidden</td><td>sharingBooksToBorrow.php</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>切換鈕</td><td>oneWaySwitch</td><td>oneWaySwitch</td><td>XoopsFormRadio</td><td>todo.php</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>函式</td><td>function</td><td colspan=2>不改動欄值,只改變欄值的表現</td><td>recommend.php,showNc.php</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>分號換行</td><td>wrap</td><td colspan=2>不改動欄值,只改變欄值的表現</td><td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>即時選單</td><td>searchSelect</td><td>代碼欄</td><td>XoopsFormCatchText(by jj)</td><td>sharingBooksToBorrow.php</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | <br/> | ||
+ | 派值範例:{{:Etable/formType/派值範例}} | ||
+ | |||
+ | <table class='nicetable' style='width:100%'> | ||
+ | <tr> | ||
+ | <td>addElements($i,$value)<br/>製造表單中各可「插、編」欄</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>XoopsFormCheckBox(欄的colalias,f[欄的as_name][欄的colname],$checked)</td> | ||
+ | </tr> | ||
+ | </table> | ||
表格 | 表格 | ||
#資料表欄位 | #資料表欄位 | ||
第 24 行: | 第 98 行: | ||
===「桃園市自主學習3.0實驗室推薦表單」網頁,資料庫,程式碼對照表=== | ===「桃園市自主學習3.0實驗室推薦表單」網頁,資料庫,程式碼對照表=== | ||
− | <table class='nicetable' style='width: | + | <table class='nicetable' style='width:100%'> |
<tr> | <tr> | ||
− | |||
− | |||
<th><B>表單元件</B></th> | <th><B>表單元件</B></th> | ||
+ | <th><B>資料表欄位</B></th> | ||
+ | <th style='width:50%'><B>formType欄位類別</B></th> | ||
<th><B>使用者動作</B></th> | <th><B>使用者動作</B></th> | ||
<th><B>對資料表欄位的動作</B></th> | <th><B>對資料表欄位的動作</B></th> | ||
第 34 行: | 第 108 行: | ||
<tr> | <tr> | ||
− | <td> | + | <td> |
+ | *文字方塊:表單功能說明與描述<br/> *可輸入文字方塊:姓名<br/> *可輸入文字方塊:信箱<br/> *核取方塊(多選):工作項目<br/> *單選方格:身份<br/> *單選方格:工作月份<br/> *單選方格:能否擔任助教<br/> *按鈕:確認送出<br/> *文字方塊:已收到表單,感謝填寫 | ||
+ | </td> | ||
+ | <td>1.sid(自動編號)<br/>2.cn(姓名)<br/>3.email(信箱)<br/>4.workItem(工作項目)<br/>5.type(身份)6.workTime(可工作月份)<br/>7.isAssistant(能否當助教)</td> | ||
+ | <td> | ||
+ | 1.<br/> 2.字串<br/> 3.字串<br/> 4.'workItem'=>array('checkbox',array('1'=>'維基頁撰寫','2'=>'公開課學員or助教','3'=>'影片剪輯與拍攝','4'=>'伺服器維護&程式撰寫')),<br/> 5.'type'=>array('radio' ,array('1'=>'自學生','2'=>'團體或機構實驗教育學生','3'=>'大學生','4'=>'大學生','5'=>'社會人士'))<br/> 6.'workTime'=>array('radio',array('1'=>'2月','2'=>'3月','3'=>'4月','4'=>'4月以後'))<br/> 7.'isAssistant'=>array('radio',array('0'=>'','1'=>'可參與','2'=>'無法參與'))<br/> | ||
+ | </td> | ||
+ | <td>1.點選「填寫表單」按鈕<br/> 2.輸入姓名<br/> 3.輸入郵件地址<br/> 4.勾選工作項目<br/> 5.點選身份別<br/> 6.點選工作月份<br/> 7.點選能否擔任助教<br/> 8.點選確認送出按鈕 | ||
+ | </td> | ||
+ | <td>1.新增一筆資料:自動編號<br/> 2.新增一筆資料:姓名<br/> 3.新增一筆資料:郵件地址<br/> 4.新增一筆資料:工作項目「值」<br/> 5.新增一筆資料:身份別「值」<br/> 6.新增一筆資料:工作月份「值」<br/> 7.新增一筆資料:能否擔任助教「值」<br/> 8.完成一列表單資料 | ||
+ | </td> | ||
</tr> | </tr> | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
</table> | </table> | ||
參考[[Etable/開發#欄位種類]] | 參考[[Etable/開發#欄位種類]] |
2022年1月31日 (一) 23:47的最新修訂版本
概述
M
V
C
Form
HTML5 之下各種表單元素的樣子,請參考HTML/表單
以下列舉 etable 的各種 formType
formType | 欄型 | 物件 | 參考 | |
---|---|---|---|---|
選單 | select | 皆可 | XoopsFormSelect | recommend.php |
連動選單 | select2 | 皆可 | XoopsFormSelect | todo.php |
連動選單 | select22 | 皆可 | XoopsFormSelect | todo.php |
單選 | radio | 皆可 | XoopsFormRadio | todo.php |
是否擇一 | radioyn | 皆可 | XoopsFormRadioYN | |
核取方塊 | checkbox | 皆可 | XoopsFormCheckBox | todo.php |
複選 | checkbox | 以;間開的長字串 | XoopsFormCheckBox | todo.php |
位元複選 | bitCheckbox | 整數 | XoopsFormCheckBox | emUsers.php |
日期 | date | 日期或字串 | XoopsFormText配小日曆 | todo.php |
時分秒 | time | 時間或字串 | XoopsFormTime | |
日期時間 | datetime | datetime | XoopsFormDateTime | Calendar-.php |
文字區塊 | auto | text | XoopsFormTextArea | todo.php |
背景填值 | hidden | 皆可 | XoopsFormHidden | todo.php,showNc.php |
Unix時間 | unix_time | 整數 | XoopsFormHidden | sharingBooksToBorrow.php |
切換鈕 | oneWaySwitch | oneWaySwitch | XoopsFormRadio | todo.php |
函式 | function | 不改動欄值,只改變欄值的表現 | recommend.php,showNc.php | |
分號換行 | wrap | 不改動欄值,只改變欄值的表現 | ||
即時選單 | searchSelect | 代碼欄 | XoopsFormCatchText(by jj) | sharingBooksToBorrow.php |
$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=>'===請選擇==='))
addElements($i,$value) 製造表單中各可「插、編」欄 |
XoopsFormCheckBox(欄的colalias,f[欄的as_name][欄的colname],$checked) |
表格
- 資料表欄位
- formType 中的欄位類別
- 表單元件
- 使用者動作
- 對資料表欄位的動作
桃園市自主學習3.0實驗室推薦表格
- 本推薦表單的功用(描述性文字)
- 姓名(簡答)
- email地址(簡答)
- 您欲參與的工作項目:維基頁撰寫,公開課學員或助教,影片剪輯與拍攝,伺服器維護與程式撰寫(多選方塊)
- 您的身份為:自學生、團體或機構實驗教育學生、公立學校學生、大學生、社會人士(單選)
- 推薦者能開始工作的月份:2月,3月,4月,4月以後(單選)
- 「若被推薦者欲擔任助教工作請回答」能否於2/16-4/13,每週三13:00-17:00至科教館擔任課程助教:能參與,不能參與(共計9週)
- 誠摯感謝您的推薦。(描述性文字)
「桃園市自主學習3.0實驗室推薦表單」網頁,資料庫,程式碼對照表
表單元件 | 資料表欄位 | formType欄位類別 | 使用者動作 | 對資料表欄位的動作 |
---|---|---|---|---|
|
1.sid(自動編號) 2.cn(姓名) 3.email(信箱) 4.workItem(工作項目) 5.type(身份)6.workTime(可工作月份) 7.isAssistant(能否當助教) |
1. |
1.點選「填寫表單」按鈕 2.輸入姓名 3.輸入郵件地址 4.勾選工作項目 5.點選身份別 6.點選工作月份 7.點選能否擔任助教 8.點選確認送出按鈕 |
1.新增一筆資料:自動編號 2.新增一筆資料:姓名 3.新增一筆資料:郵件地址 4.新增一筆資料:工作項目「值」 5.新增一筆資料:身份別「值」 6.新增一筆資料:工作月份「值」 7.新增一筆資料:能否擔任助教「值」 8.完成一列表單資料 |