剛剛查一個 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 一行都不用寫,只要右邊轉頁,整個畫面都跟著變動,左邊的選單也不會重覆出現了。
參考資料:
沒有留言:
張貼留言