next up previous contents
Next: 簡單計算題變數產生 Up: 其他小修改 Previous: 計算題   Contents

簡答及數字答案輸入

  1. 簡答題及數字題答案輸入欄位,預設大小為自動,也就是會依照答案長度顯示如下圖,如此無形中也提示學生可能的答案。
    Image textsize1
  2. 以 Firefox 外掛元件 Firebug 查得其答案輸入 css 格式為 input[type="text"], input[type="password"], textarea,再查得此設定的 css檔為 theme/base/style/core.css,將其由 auto 修改為 16em,也就是 16 個字元。
    [root@moodle moodle23]# diff -uN ../moodle/theme/base/style/core.css theme/base/style/core.css
    --- ../moodle/theme/base/style/core.css	2012-07-06 08:44:30.000000000 +0800
    +++ theme/base/style/core.css	2014-09-21 18:02:02.022384638 +0800
    @@ -1,7 +1,7 @@
     /**
      * Required to undo YUI resets that override input size
      */
    -input[type=text],input[type=password],textarea{width:auto;}
    +input[type=text],input[type=password],textarea{width:16em;}
    
  3. 修改後每個答案輸入欄位長度都為 16 個字元,可以避免學生以欄位大小來猜測可能答案。
    Image textsize2
  4. 但因格式 input[type="text"], input[type="password"], textarea 不只「克漏字」題型使用,還有成績輸入、密碼輸入、簡訊編輯等輸入區塊使用,若改成 16em 在編輯全班成績時顯得區塊過大,折衷處理可以取消最大寬度限制如下:
    [root@moodle moodle23]# diff -uN ../moodle/theme/base/style/core.css theme/base/style/core.css
    --- ../moodle/theme/base/style/core.css	2012-07-06 08:44:30.000000000 +0800
    +++ theme/base/style/core.css	2014-09-21 18:02:02.022384638 +0800
    @@ -1,7 +1,7 @@
     /**
      * Required to undo YUI resets that override input size
      */
    -input[type=text],input[type=password],textarea{width:auto;}
    +input[type=text],input[type=password],textarea{width:width:auto; min-width:4em}
    
  5. 修改後,至少讓最小寬度一致。
    Image textsize3
  6. 雖然格式 input[type="text"], input[type="password"], textarea 已取消最大寬度限制,但在編輯簡訊時,一開始是沒有任何內容,所以編輯區塊寬度會被設定為最小寬度 4em,且無法拉大。
    Image textsize4
  7. 為解決上述問題,加入 resize:both 參數,也就是水平與垂直方向都可重新改變大小,修改後結果如下:
    [root@moodle moodle23]# diff -uN ../moodle/theme/base/style/core.css theme/base/style/core.css
    --- ../moodle/theme/base/style/core.css	2012-07-06 08:44:30.000000000 +0800
    +++ theme/base/style/core.css	2014-09-21 18:02:02.022384638 +0800
    @@ -1,7 +1,7 @@
     /**
      * Required to undo YUI resets that override input size
      */
    -input[type=text],input[type=password],textarea{width:auto;}
    +input[type=text],input[type=password],textarea{width:width:auto; min-width:4em; resize:both;}
    
  8. 修改後,簡訊編輯區塊寬度放大了。
    Image textsize5



2017-08-04