請勿用保留字來取 HTML 的標籤名與讓 Web Script 轉頁時自動指定 Frame

[Javascript] 請勿用保留字來取 HTML 的標籤名

  剛剛查一個 javascript 的 bug ,原因是 document.form1.submit(); 不能動作。出現的錯誤訊息是「物件不支援此屬性或方法」,這種 document.form1.submit(); 的 javascript 是再平常不過的指令,怎麼可能不支援呢?後來才發現,是美編把 submit 的按鈕取名叫 submit,也就是在 HTML 裡面有一行是:

<input type="submit" name="submit" value="submit">

  這樣 document.form1.submit(); 就無法執行了,因為 document.form1.submit 已經變成那個按鈕的物件了,自然 submit 的 method 也無法動作。

  因為自己不會犯這種用保留字來取 HTML Tag name 的錯誤,不過遇到對程式不熟的美編,還是會遇到這種狀況,只能自求多福了。

 
讓 Web Script 轉頁時自動指定 Frame
 
  一般在用 ASP、PHP、JSP 等 Web scripts 轉頁時,有 frame 的狀況下都是轉在同一個 Frame ,變成如果有時要 refresh 整個 frame 時,就會變成這樣。
登入前:


 
 
 
 
 
 
 
 
 
登入後:
 

 
 
 
 
 
 
  看到了嗎? 左邊的地方又重覆多了一層選單出來;對於我這種不喜歡用 javascript 來搭配轉頁的人,利用 meta 的 <base>來指定動作的 Frame 是最好的方法,於是我在左邊 Frame 的 裡面加入 <base target="_top">,target 就是你要反應的 Frame名稱,如果指定 _top 即為頂層frame,也就是右邊視窗的所有動作,都會反應在整個畫面上 。


<head>
<BASE target="_top">
...
...
</head>

  果然 javascript 一行都不用寫,只要右邊轉頁,整個畫面都跟著變動,左邊的選單也不會重覆出現了。



參考資料:

留言

這個網誌中的熱門文章

用PHP寄MAIL的方法

ImageMagick應用大全(一)

php安裝openssl的方法