去後端抓資料,免不了需要依據前端查詢條件動態組合 SQL,此時 JsonStore 就需要把 form 的輸入資料透過 Http Request一併送到後端,在 JsonStore 我們可以用 baseParams 設定,例如:
var store=new Ext.data.JsonStore({
root: 'data',
totalProperty: 'size',
baseParams:{
voucherNo:"A000092"
}
}
這個是寫死的,但誰也知道參數一定是動態組出來的,而且這件事都是在使用者輸入完查詢條件後再按下「查詢」鈕後才會觸發,所以都需配合 javascript 寫個 function bind 在【查詢】鈕上。
<input type="button" value="查詢" onclick="query()">
<script>
// 在裡面需要將 form 所有輸入欄位塞到 JsonStore 的 baseParams 中
function query() {
store.baseParams={voucherNo:xxxx, empNo:yyyy}
}
</script>
上面的 voucherNo:xxxx, empNo:yyyy 是動態的,我們需要把 form 的所有欄位集結成這個 object,
這裡我借用了 jQuery 做這做事,也許 Ext 也有類似的功能,不過要手工打造一些東西時,簡潔有力的 jQuery 還是我的最愛。
用 jQuery 將 form 資料轉換成 javascript object,透過 selector "form :input" 找出所有輸入型欄位(textarea, radio, text, checkbox),眾多輸入欄位就 radio及checkbox 最囉嗦,所以需額外針對有打勾資料篩選var param={}
var param={}
$("form :input").each(function(){
if(this.type&&this.type=="radio"&&!this.checked){
return;
}
if(this.type&&this.type=="checkbox"){
if(!this.checked) return;
if( param[this.name]==null) {
param[this.name]=[];
}
param[this.name].push(this.value); // checkbox 可複選,所以需用個陣列來放
return ;
}
var me=$(this) ;
param[me.attr("name")]=me.val() ;
})
上面程式跑完後,form的所有資料就轉到 param 裡了,最後一關,就是將這個 param 放到 JsonStore,
store.baseParams=params;
// 最要執行 reload() ,不是 load(...),也不是 reload(..),這個 JsonStore 放了很多非常相似的方法,害我找半天...
store.reload() ;
So....... 大功告成 !
]]>
2008/06/12 04:09
〔記者李開菊高雄報導〕捷運紅線通車後,中央公園站便利的交通為大統商圈帶來人潮、錢潮;地政處長謝福來指出,大統商圈、捷運中央公園站沿線的房地產與商家生意持續看漲,再現大統商圈輝煌時代應指日可待。
謝福來表示,五福路大統百貨民國六十四年十月開幕,為東南亞第一大百貨公司,每天人潮不斷,蟬聯數十年高雄「地王」寶座,最高地價曾創下每坪一百三十八.六萬元紀錄。
民國八十四年十月的一場祝融燒掉了大統的輝煌,最高地價區段滑落至每坪八十二.五萬元。
直到高雄捷運紅線通車利多刺激下,為大統商圈注入一股新活力。
地政處統計,最近兩年來大統商圈毗鄰地區每年約有三十件成交的交易量,除了本地的購屋者外,約有兩成左右為北部南下的投資客,早已沿著捷運沿線、商圈周圍佈局,逐漸拉抬出量價漸增的趨勢。
據了解,玉竹商圈及新堀江商圈內逛街購物人潮鼎沸,透天店面月租金約十八至三十萬元,連沿商圈路邊擺設的攤位平均月租金每攤約二至三萬元,投資報酬效益相當可觀。
]]>2008/04/09 04:33葉君遠台北報導
胡瓜過年期間赴巴西度假,看中一只雕像,花了5000美金(約152450元台幣)買下後,再花850元美金(約26000元台幣)用FedEx聯邦快遞運回台灣,費時月餘,上周他收到貨品,拆開後竟斷成多節,他請快遞公司處理,對方卻層層推託,最後以「包裝不良」結案,完全不賠,讓他當場氣壞!
給女婿禮物 頭腳都斷了
胡瓜說,這只騎士騎馬銅材石膏雕像,預計在女婿李進良整形診所開幕時用,「我當時買了幾個不同的,能自己扛的我就扛回來,像這比較大件,我只能送到快遞公司,請教他們包裝方式後,用泡棉、碎紙層層綁好,放進特製的木箱裡;沒想到我收到時,竟然人頭、馬腳都斷了。」
依規定包裝 卻說方法錯
胡瓜當場請同事向快遞公司反映,但電話打了,對方卻直到隔天,才有一位經理來拍照,不久竟然結案,胡瓜生氣說:「包裝的方式是按照他們模式包的,如果不行,為何當時不說?這東西損失事小,我已打算不要了。」
聯邦快遞護隱私不細談
「但他們的態度有問題,相信我不是第一位受到委屈的客戶,也不會是最後一位,我必須站出來把真相告訴大家,以後有重要物品,不能找這家處理。」胡瓜並向消基會申訴,消基會已展開調查。
根據胡瓜狀況,快遞公司昨晚九點半透過公關發出簡短聲明表示:「聯邦快遞確認貨件依照公司的規定及標準程序遞送,為保護客戶的隱私,聯邦快遞不便公開遞送的相關細節。」回應。
]]><form name=”form
<input type=”text” name=”nextSignEmpNo” value=””>
<input type=”text” name=”nextSignDeptNo” value=””>
<input type=”text” name=”docNo” value=””>
</form>
<script>
for(var i=0;i<form1.elements.length; i++) {
if ( form1.elements(i).name.indexOf(”nextSign”)==0) {
alert( form1.elements(i).value );
}
}
</script>
jquery 做法:
$(“input[name^=’nextSign’]).each(function(){
alert( $(this).val() );
})
$(“input[name^=’nextSign’]) 是指所有input的name只要是 nextSign 開頭的都抓出來,若然有1個form以上,並且不同form有相同欄位名稱時,這樣抓可能會出錯,所以需要再把 form考量進來。
$(“form[name=’form
alert( $(this).val() );
})
jquery 的 selector 有個特色,可以將不同的 selector 組合使用,這樣幾乎沒有找不到的DOM物件。
以 attribute 抓物件方式還有
[attribute*=value] 只要出現value關鍵字
[attribute$=value] value關鍵字結尾
[attribute!=value] value關鍵字不能出現
像如果要抓出下面這兩個欄位
<input type=”text” name=”nextSignEmpNo_v
<input type=”text” name=”nextSignDeptNo_v
可以用
$(“input[name$=’_v
alert( $(this).val() );
})
這個 selector 目前最常用到,今天先記到這,下次用到新的再整理出來。
]]>n 稽核專案是否遵循CMMI規範
u 任何標準辦法都需有稽核者,以確保規範有真正施行
n PRODUCT QA
u 專案不同milestone會產出不同產品,稽核產品規格是否有照標準
n PROCESS QA
u 專案必須確實進行有規劃到的CMMI流程,凡走過必留下痕跡,QA這些痕跡(會議記錄、審查報告…)
n 公正獨立的第三者
u 不應參與任何專案,以保持他的客觀性
u 此角色必須能沒有任何階級顧慮的反應問題
PRODUCT QA
n 觸發時機
u 申請建構時,CM人員透過mail將產品轉給PPQA
n 審查內容
u 檢查產品是否依照範本製作
n 審查不通過
u 用mail退回CM人員,註明退回原因
n 審查通過
u 填寫「品質查核表」,記載該產品過去退回記錄及意見,寄給PPQA主管
n 主管簽核後
u Forward 給CM人員,同時將mail放在專案的PPQA流程中
PROCESS QA
n 觸發時機
u 依PPQA計劃書進行,通常2個月1次
n 審查內容
u 是否有進行CMMI各流程活動,檢視是否有相關會議記錄及活動的審查報告產出。
n 審查不通過
u 填寫流程品質查核表,寄給PPQA主管簽核。
u 主管寄回查核表,向PM開立問題單並附上傳查核表,並定下期限要求解決。
n 審查通過
u 填寫流程品質查核表,寄給PPQA主管簽核。
n 主管簽核後
u 同時將mail放在專案的PPQA流程中。
QA of PPQA
n 依照查核表範本稽核 PPQA 是否確實QA
n 目前請CM人員擔任
n 發現問題填妥查核表,陳給PPQA主管,簽核後向PPQA人員開立問題單,並定時追蹤解決情況
]]>測試資料的用途,在於為測試過程定義一明線的規範,希望達到”穩定”的效果。開發系統過程中,我們都希望一切都能在自己的掌控範圍中,包括時程,工時,成本,資源。軟體開發最困難、也最可怕之處在於隨時爆發一些事前無法預測的事情,臨時大幅度需求變更,導致整個系統架構重新設計,人力等資源需要額外投入,這些都是專案中很大的風險,發生時間點的早晚與他的傷害程度是呈反比,越早發現,傷害越輕,反之亦然。
專案在初期估算成本時,不像建築業,建築在期初估價時,可用預期的樓地板面積換算成建築用料得出建材成本,加上浮動不致大劇烈的人力成本,工期一般不會差太多,除非期初的地質探勘沒有找到地質的嚴重問題,等到開發時才突然引爆出來,就像高捷開發鹽呈區的地層下陷事件一樣。雖然在開發過程有這些風險,但專案的結案標準非常明確,建物落成之日就是驗收日,軟體專案可沒這麼幸運了。
因此軟體工程的大部份努力其實都在做風險控管,定義明確的測試資料可有效界定測試通過的標準,事實上在自己實地測試時,也都必須輸入這些測試資料,現在只是換成事前把這些資料事前定義清楚,有了明確的測試資料後,日後就可利用這些資料做到測試自動化。
]]>