Archive

‘專業技術’ 分類過的Archive

Javascript new Option的怪問題

2008年6月4日 尚無評論

這兩天遇到一個怪問題

目前有一個功能在父頁 面上有一個select 清單
而選擇是會跳出一個子頁面的select 清單上選取
選後接加入,則會傳回父頁面上的select 清單之中

function return_data(form)
{
var isSelected=false;
var sel=form.user_list;
var parent_sel=window.opener.document.getElementById(“user_list”);
for(var i=sel.options.length-1;i>=0;i–) {
  if(sel.options[i].selected) {
   isSelected=true;
 isHave=false;
 for(var j=0;j<parent_sel.options.length;j++){
   if(sel.options[i].value==parent_sel.options[j].value) {
    isHave=true;
  break;
  } 
 }
 if(!isHave) {
    parent_sel.options[parent_sel.options.length]= new Option(sel.options[i].text,sel.options[i].value);
    sel.options[i]=null;
 } else sel.options[i]=null;
  }
}
}

在執行時發現似乎無反應

一定要將  if(!isHave) { } 改成如下才行

 parent_sel.options.length++;
 parent_sel.options[parent_sel.options.length-1].text= sel.options[i].text;
 parent_sel.options[parent_sel.options.length-1].value= sel.options[i].value;
 sel.options[i]=null;

真是怪異,在本頁執行new option() 就行,但由子頁執行 父頁就不行
暫時還找不到原因,如果有高手知情,再麻煩告知一下!!

Categories: Java Script Tags: ,

parseInt() 怪事..

2008年6月2日 4 則評論

最近在排除程式問題時發現有趣的事
程式之中有用到javascript parseInt function
原本是希望傳入的字串 “02” “03” “04” 可以轉成 2 3 4
所以使用了parseInt function 進行轉換

不過卻有問題,遇到'08″ “09”時 就會轉換失敗
最後是直接在parseInt 後加上使用10進位的方式處理才排除
用法如下:
parseInt(value,10);

不過還真是怪異,預設怎麼會是用8 進位去解析呢? 
以前都沒有這種印象
該不會先前寫的程式都會有此問題呢 @@

真慘….

Categories: Java Script Tags: ,

QuickREx plugin for eclipse (Regular Expressions)

2008年5月28日 尚無評論

先前在check Regular Expressions時,同事有介紹可以使用QuickREx
還不錯用,所以特別介紹一下!!

相關資訊的連結在此..

more..

Categories: JAVA Tags: , ,

FCKeditor如何判斷空值

2008年5月27日 尚無評論

最近用到FCKeditor發現他無法像一般的方式進行空值的判斷
找了一下,才知他本身是有提供API 可以呼叫取得

這行就是取得ID內的值
FCKeditorAPI.GetInstance(ID).GetXHTML()

這行就是設定ID欄位的值
FCKeditorAPI.GetInstance(ID).SetHTML(“Default String”)

而ID就是我們使用FCKeditor的變數名稱
不知哪有詳細的API可以看
看來FCKeditor蠻強大的!!

Categories: 程式開發 Tags:

Java Session 監控

2008年5月20日 尚無評論

好幾年前寫過線上人數,當初用JSP寫 似乎 沒遇到多大的問題
最近,碰到需要檢測帳號只能同時一個在線上,才遇到了一些問題
一般有了問題才會深入,才更瞭解session的監控原理及模式
唉~~這就是所謂的半調子呀!

Session表示使用者連到系統的請求暫存記錄,每個使用者(瀏覽器)連至系統時,系統會自動給予一組Session ID去辨別這個使用者
而有些連結的資訊就會透過這組session id保留在主機,以便使用者連線使用。

在java Servlet實作session時,可透過監聽session 建立及結束當被觸發時以進行初始化及還原的動作
只要implements HttpSessionListener並實作 sessionCreated 及 sessionDestroyed method即可

或是可以針對session傳出傳入值時進行監聽,如此一來即可在傳入的時候(即使用用HttpSession的setAttribute方法時)
以及移除的時候(即使用用HttpSession的removeAttribute方法或session time out時)觸發valueBound和valueUnbound方法

只要在傳入的object implements HttpSessionBindingListener 並實作valueBound和valueUnbound 即可
這樣就可以在上述提到的時機點觸發相關的方法

因此,我們就可以利用上述特性進行客戶的日誌記錄或上線人數的統計等
而再一提的,如果要做到上線人數的統計或是像我這次記錄使用者只能一組在線上
就還要再使用一個全域的system session,在JSP是叫application (顧名思義就是整個WEB應用系統都可以使用的session)
而在Servlet,可以從session或request 取出ServletContext
(這個等同於jsp的application,有關ServletContext的敘述請參考Servlet規範),
如此就可以利用ServletContext的全局特性,去記錄和整個系統有關的資訊了!!

參考資料:Servlet中如何捕獲Session事件–MaYong – 希賽IT博客,中國最大的IT專業博客

Categories: JAVA Tags: , ,
分頁: 上一頁 1 2 3 ... 18 19 20 21 22 23 24 25 26 27 28 下一頁