顯示具有 JavaScript 標籤的文章。 顯示所有文章
顯示具有 JavaScript 標籤的文章。 顯示所有文章

2007-12-04

File upload with ajax (form base async)

使用ajax傳送檔案回去server, 找了一下ajax 相關的東西, 發現只能用form 的上把資料傳回去.
這一次的研究希望能夠做到 google mail 那樣的單檔上傳的功能.所以, 預計要達到的目的是, html page 不用重新由server 端產生, 並且可以回傳上傳檔案的相關資料.

client code
















server code

FileUploadParser parser = new FileUploadParser("big5", -1);

Model model = parser.parse(request);
Model fields = (Model)model.get("FormValues");
Model files = (Model)model.get("Files");
Object[] filenames = files.getKeys();

ArrayModel f = new ArrayModel();
for(int i=0;i {
SimpleModel m = new SimpleModel();
m.set("FileName",filenames[i]);

FileItem item = (FileItem)files.get(filenames[i]);
m.set("FileSize",String.valueOf(item.getSize()));

File file = new File(");
try
{
item.write(file);
item.delete();
}
catch (Exception e)
{
e.printStackTrace();
}
f.add(m);
}
model.set("Files",f);
response.setContentType("text/html");
response.getWriter().write(model.toJSON() );

2007-03-14

DOM Bug : Table 動態產生時發生的錯誤

今天使用document.createElement 方式去產生 Table 裡面的資料. 分別在 IE and FireFox 發現一些小問題.

FireFox Bug: Version : 1.5.0.10
當我預先在HTML 裡頭留下一個HTML::Table的元件, 再利用document.createElement('tr')放進 預設的 table 裡頭時, 第一次不會有問題. 但是當我第二次要清除 table 裡面所有的資料在產生一份新東西時, 整個table 會往下滑, 並且看不出問題在哪裡.

IE Bug: Version : 6.0.2900.2180.xpsp_sp2_gdr.0503-1519
只要我在 java script 裡頭, 執行 table.innerHTML. IE 並不會接受我的JavaScript, 會發生錯誤訊息.

解決方式:
根據 石頭閒語:DOM::A bug about table in M$IE 裡頭的說法, IE 在DOM::Table 中需要有一個DOM::Tbody的物件. 所以解決方式就是 在產生Table 的時候自己產生Tbody 在裡面, 這樣就可以解決了.
另一個 Table.innerHTML 的問題, 暫時先採用 HTML::DIV包含一個HTML::TABLE 直接用 DIV.innerHTML 方式解決了.

2007-03-06

JavaScript 學習筆記 (1)

最近研究Ajax 的應用技巧, 但是發現自己的JavaScript 程度實在很不好. 寫作技巧還是停留在很古早的寫作方式, 所以想要徹底研究一下JavaScript for Object. 不過研究了一陣子, 從網路上看到的文章都是非常的片段, 不是已經應用很深了, 就是輕輕帶過不懂其中道理. 所以想要直接拿JavaScript來做研究, 最近在一篇石頭閒語:重新認識 JavaScript了解到原來JavaScript是從ECMAScript的規格實做出來的.

所以, 最近因該要把這一份規格表給念一念. 徹底了解一下JavaScript.