2008年7月4日 星期五

完成新增紀錄表單

終於寫完應用程式助理之新增紀錄表單功能, 斷斷續續花了兩個星期才弄完, 出乎意料之外, 花了很多時間在處理欄位屬性的選擇上, 中途又花了一天在思考欄位驗證問題. 寫這個東西才了解那些開發 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>

<%

沒有留言 :