終於寫完應用程式助理之新增紀錄表單功能, 斷斷續續花了兩個星期才弄完, 出乎意料之外, 花了很多時間在處理欄位屬性的選擇上, 中途又花了一天在思考欄位驗證問題. 寫這個東西才了解那些開發 IDE 的人真是不簡單, 不但要熟悉該語言, 還要處理人機介面一切細節, 造輪子實在不是簡單的工作, 但是一旦造好, 工作效率就會倍增, 那是值得的. 所以 IDE 的有趣即在此: 用程式產生程式, 科學的進步, 全在一個懶字.
嘻嘻, 弄完這個, 編輯紀錄表單只要把這模組原始碼複製過去, 稍微改一下就好囉!
新增紀錄表單這個功能需要四個設定步驟, 最後程式產生出來的程式碼如下:
*** 與顯示紀錄列表較不同的是, 在第四步驟設定完成時, 利用客戶端Javascript 先產生各輸入元件之HTML碼, 然後推入陣列中, 以逗號串接組成字串, 傳回伺服器以便在第五步時, 嵌入所產生的表單代碼中.
*** 欄位驗證因為較複雜, 勉強擠進來的話會很奇怪, 另外用一個功能模組處理.
%>
<fieldset style="margin:5px;">
<legend align="left"><B>【資料表 APP_settings 新增紀錄】</B></legend>
<div style="margin:2px;">
<form method="post" name="new_APP_settings" style="margin:3px;" action="admin.asp?op=APP&function=new_APP_settings">
<table class="table_module_body" style="width:98%;border:0px;" cellspacing="5" cellpadding="0">
<tr>
<td style="width:150px;vertical-align:top;text-align:left;">欄位標題0 : </td>
<td>
<input type="text" name="install_date" class="textclass" style="width:100px;" value="aaa" title="bbb" onclick="this.value='';">
</td>
</tr>
<tr>
<td style="width:150px;vertical-align:top;text-align:left;">欄位標題1 : </td>
<td>
<link title="win2k-cold-1" href="plug-in/calender/calendar.css" media="all" type="text/css" rel="stylesheet">
<script src="plug-in/calender/js/calendar.js"type="text/javascript"></script>
<script src="plug-in/calender/js/calendar-en.js"type="text/javascript"></script>
<script src="plug-in/calender/js/calendar-setup.js"type="text/javascript"></script>
<input type="text" name="max_tab" class="textclass" style="width:100px;" value="ccc" title="ddd" onclick="this.value='';">
<script type="text/javascript">
Calendar.setup({inputField:"install_date",ifFormat:"%Y%m%d",step:1});
</script>
</td>
</tr>
<tr>
<td style="width:150px;vertical-align:top;text-align:left;">欄位標題2 : </td>
<td>
<textarea name="session_timeout" class="textclass" style="width:100%;padding:3px;height:100px;" title="fff">eee</textarea>
</td>
</tr>
<tr>
<td style="width:150px;vertical-align:top;text-align:left;">欄位標題3 : </td>
<td>
<input type="radio" name="system_name" value="1" checked> 1<br>
<input type="radio" name="system_name" value="2"> 2<br>
</td>
</tr>
<tr>
<td style="width:150px;vertical-align:top;text-align:left;">欄位標題4 : </td>
<td>
<input type="checkbox" name="version" value="1" checked> 1<br>
<input type="checkbox" name="version" value="2"> 2<br>
<input type="checkbox" name="version" value="3" checked> 3<br>
<input type="checkbox" name="version" value="4"> 4<br>
</td>
</tr>
<tr>
<td></td>
<td><hr style="border:inset # 0px;"></td>
</tr>
<tr>
<td></td>
<td>
<input type="button" class="buttonclass" style="width:50px;margin:5px;margin-left:0px;" onclick="history.go(-1)" value="取消">
<input type="button" class="buttonclass" style="width:50px;margin:5px;" onclick="field_validation(this.form)" value="新增">
</td>
</tr>
</table>
</form>
</div>
</fieldset>
<script type="text/javascript">
function field_validation(formObj) {
}
</script>
<%
沒有留言:
張貼留言