2011年6月23日 星期四

javascript 檢查輸入是否為英數字

在撰寫web系統有時需要限制欄位只能key 英文 或 數字,
而不給key中文,符號的可怕需求...
這邊提供從大學同學阿勇多年經驗的code...XD




========jsp中的input 欄位 兩個事件都要有============

<input onkeydown="divChian();" onkeypress="LimitInput('Num',false);" type="”text”" />
//divChian() 擋中文
//LimitInput('Num',false) 選擇只能輸入數字, 且不轉換成大寫(若為英文)


===============javascript==============

//擋中文
function divChian(){
    var LOBJ_Lable = window.event;
        if(LOBJ_Lable.keyCode == 229) //中文都會有299這個code
              event.returnValue=false;
}

//LimitInput[參數,控制的物件,是否要轉大寫(true:要轉;false:不要轉)]
function LimitInput(LSTR_Type,LBOL_Chagecode){
  var LOBJ_Lable = window.event;
  //轉大寫;
  if (LBOL_Chagecode==true){
    if (LOBJ_Lable.keyCode >= 97  && LOBJ_Lable.keyCode<= 124){
             LOBJ_Lable.keyCode-=32;
           }
        }
  switch (LSTR_Type){
    //只能輸入英數
    case "NumEng":
      if ( (LOBJ_Lable.keyCode >= 48  && LOBJ_Lable.keyCode<= 57)||
               (LOBJ_Lable.keyCode >= 65  && LOBJ_Lable.keyCode<= 90)||
               (LOBJ_Lable.keyCode >= 97  && LOBJ_Lable.keyCode<= 122)){
              return LOBJ_Lable.keyCode;
      }else{
              return LOBJ_Lable.keyCode =0;
            }
          break;
        case "Num":
           if(LOBJ_Lable.keyCode < 48 || LOBJ_Lable.keyCode > 57){
               LOBJ_Lable.keyCode = 0;
           }
           break;
        case "NumDotMinus":
      if ((LOBJ_Lable.keyCode >= 48  && LOBJ_Lable.keyCode<= 57)||
            (LOBJ_Lable.keyCode == 45 || LOBJ_Lable.keyCode == 46)){
        return LOBJ_Lable.keyCode;
      }else{
        return LOBJ_Lable.keyCode =0;
      }
     break;
  }
}

ireport page band

ireport中有幾個band要注意一下:
1.page header
每頁都會印出
2.page footer
每頁都會印出, 但是報表若有 lastPage footer band,則最後一頁不會顯示
3.last page footer
只印出在最後一頁

2011年6月15日 星期三

jasperreport+ireport

在TAC系統中, 實作jasperreport報表說明:(參考TAC程式Tac113Controller, Tac113ReportTest, Tac113ManagerImpl)
前提: 完成fdc report設定.
步驟:
  1. 拉報表樣板 jrxml, 編譯jrxml成 japser檔
  2. 測試報表 撰寫 TACxxxReportTest 測試類別
  3. controller 中 注入 TACReportUtil
  4. 透過manager取得報表表頭, 明細資料.參數
  5. 使用TACReportUtil 利用資料參數產生報表