發表文章

目前顯示的是 12月, 2012的文章

【JavaScript】iframe間(Iframe父頁面和子頁面之間)參數傳遞

圖片
假設父頁面(Ex︰A.html),子頁面(Ex︰B.html)。 父頁面(Ex︰A.html) Javascript︰ <script type="text/javascript"> //父回應 function parentResponse(s)    {    alert('parentResponse---'+s); } //呼叫子 function callchild(s)    {       window.frames[" childframe "]. childResponse(s) ; } </script> HTML︰ <input name="callChild" type="button" onclick=" callchild('son') ;" value="呼叫子"/> <br/> <iframe src=" B.html " name="childframe" width="100%" marginwidth="0" marginheight="0" scrolling="No" frameborder="0" id=" childframe " ></iframe> ============================================================================================ 子頁面(Ex︰B.html) Javascript︰ <script type="text/javascript"> //子回應 function childResponse(s)    {       alert('childReponse---'+s); } //呼叫父 function callparent(s)    {   var frame = wind...

【JavaScript】自動調整iframe高度

方法一︰ 先加入iframe的語法。(Ex︰A.html) <iframe src="./source"(欲連結的網頁,Ex︰B.html) name=" mainframe " width="100%" marginwidth="0" marginheight="0" scrolling="No" frameborder="0" id="mainframe" ></iframe> 在到欲連結的網頁(Ex︰B.html)裡,在head下面加入以下程式碼。 <head>     <script>      function resize() {        parent.document.getElementById(" mainframe ").height=document.body.scrollHeight;  //將子頁面高度傳到父頁面框架         }   </script> </head> 並在body(Ex︰B.html)裡加入︰ <body onload=" resize() ;" >  ================================================================================= 方法二︰(本人比較偏愛使用此方法,在同一個檔案內編寫就好。) <script type="text/javascript"> function SetCwinHeight() { var iframeid=document.getElementById(" mainframe "); //iframe id   if (document.getElementById)   {      if (iframeid && !window.opera)    {       if (iframeid.contentDocument && ifr...

【SQL】不同型態除法運算及無條件進位(ceiling)應用

根據不同型態做除法(/)動作,得到結果不一,如果 被除數為整數(int型態)做除法(/)動作,得到的結果都是整數,若要有小數位的話,必須將被除數(int型態)轉換成float, 然後再做除法動作即可。 int 型態: select 11 /3  value       --> 結果: 3 轉換成float 型態: select CAST(11 AS float) /3  value --> 結果: 3.6666666666666665 無條件進位-ceiling函數 select  ceiling(CAST(11 AS float) /3) as  value --> 結果: 4.0 轉換成int 型態 select cast(ceiling(CAST(11 AS float) /3) as int) as value --> 結果: 4

【SQL】字串〔西元(yyyymmdd)〕轉日期格式

通常在撰寫程式中,會用字串(yyyymmdd EX:20121205)來代表日期,字串的好處方便直接相加減與拆開合併及轉換(西元<->民國)等運用,然而要寫入日期格式欄位時,就必須做轉換。轉換方是很多種, 一種是將字串(yyyymmdd)轉換成(yyyy/mm/dd)或(yyyy-mm-dd)格式填入;另一種最快的方式直接運用SQL內建函數做轉換,格式為CONVERT(datetime, 'yyyymmdd')即可 。前提之下字串(yyyymmdd)必須要是合法的日期。所以在寫入前,最好先做判斷。 PS:要測試(yyyymmdd)是否為合法日期可以下 ISDATE函數 select ISDATE ('20130105') as T 輸出: 1 代表合法日期 select ISDATE ('20121131') as T 輸出: 0 代表不合法日期 字串[西元(yyyymmdd)]轉日期格式 select CONVERT(datetime, '20121205') as date_1 輸出: 2012-12-05 00:00:00.000 參考資料: http://msdn.microsoft.com/zh-tw/library/ms187347.aspx MSDN ISDATE() 說明 註:Convert 日期用法可參考 My blog

【JavaScript】留意parseInt用法

parseInt()是用來把字串轉換成整數的函式 ,一般來說,只要是數字開頭的字串,都能夠轉換成功,例如︰parseInt('168a')的結果為 168,parseInt('1a2b')的結果為1。 parseInt('01') 得出的結果是1 ,事實上,一直到07為止,都能得到預期結果,問題來了, parseInt('08') 和 parseInt('09') 這兩者運算的結果,都得到0 ,這是為什麼呢? 主要原因在於 parseInt() 這個函式,本身可以傳遞兩個參數,語法是: parseInt(string, radix) 第一個參數 string 是要轉換為數字的字串,第二個參數 radix 則是要用二進位、八進位、十進位或十六進位。 如果 parseInt('FF',16),代表以 16 進位方式來解析FF這個字串,當然得到的結果就是 255 了 , 同理, parseInt('FF',10) 以 10 進位來解析FF這個字串,根本就不是數字,所以得到的結果會是 NaN 。 一般人不會特別指定第二個參數,這時 JavaScript 就自動判斷第一個傳遞的參數是否為某種數字型式。 在 JavaScript 眼中,以 0x 開頭的字串,都視為十六進位字串,如果單單是0開頭,第二個字母不是 x,則視為八進位或二進位字串 , 十六進位使用的字母計有 0-9,A-F,而八進位使用的字母則為 0-7,所以,當發生parseInt('08') 又未指定以何種數值型態解析時, JavaScript 以 0 為起頭,接下來的字母又不是 x,那一定是八進位了,但是,八進位裡,怎麼可能有 8 和 9 這兩個字母呢? 所以,一定是不合法的字串,於是就傳回 0。 同理, parseInt('010') 回傳的值,也不是 10,而是 8,因為 parseInt() 認為 0 開頭,接下來的字母不是 x,而是 1,就以八進位來解析 010 這個字串, 所以 一切問題都在於以 0 開頭 ,所造成的誤會。〔EX: parseInt('020')->16 ; parseInt('030')->24 ;...

【ASP】日期轉換(西元<-->民國)

日期轉換方式有很多種寫法,在此介紹比較簡單易懂且常用的方式︰ 1.先把日期去掉("/" or "-" or ".")等符號,轉成字串形態(yyyymmdd or yymmdd),接著在相加或相減19110000  〔EX: 2012/08/05 or 2012-08-05  2012.08.05 ==>20120805 註︰月及日一定要各兩碼,不足前面補0 〕   西元(yyyymmdd)轉民國   date1="20120805" - 19110000     date1 輸出︰ 1010805       民國轉西元(yyyymmdd)   date2=19110000 + "1010805"      date2 輸出︰ 20120805 2.只針對年份做相加或相減1911,且可保有("/" or "-" or ".")等符號   西元轉民國   (PS:假設今日NOW()為 2012/12/22)   date3=year(now())-1911 & mid(FormatDateTime(now(),2),5)       date3 輸出︰ 101/12/22   民國轉西元   strDate = "101/12/22"   DateArr = Split(strDate, "/")   date4=Cint(DateArr(0))+1911 & mid(strDate,len(DateArr(0))+1)    date4 輸出︰ 2012/12/22   通常 若要做日期比較或運算建議採用第一種寫法,若要顯示於螢幕上或報表上建議採用第二種方式 。 總之不管採用任何哪一種方式,都可以達到所要的結果,只是多一個步驟或少一個步驟而已。 〔如第一種寫法產生結果也可以像第二種產生結果一樣,需多加個拆解及合併動作,反之亦然〕