茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1668616 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_60D_00284.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

網頁設計 : [分享]document.forms[0].submit() 物件不支援此屬性或方法

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[分享]document.forms[0].submit() 物件不支援此屬性或方法
冷日本周因為某案件,發生了一件很詭異(後面發現是很蠢)的事情!
故事從頭說來:
冷日再寫一個新功能,姑且叫他 N 程式!
N 程式的內容和過去寫過的一隻程式非常相像,所以冷日先 copy 過去寫過的那隻程式,現在叫他 O 程式!
把 O 程式另存成 N 程式後,冷日就開始專心於 N 程式和 O 程式不一樣的地方(就是客戶要得新功能啦)!
經過一段時間的努力, N 程式大致功能完成,即將記入測試階段,所以冷日先測試操作介面。
操作介面測試 OK 以後,當然就要進行正式的功能測試,此時發現『送出按鈕無法使用』!?
瀏覽器告知的JavaScript錯誤是:
物件不支援此屬性或方法

而錯誤行的內容是:
f.target="_self";f.submit();

也就是說, Form 沒有辦法 Submit !?
這怎麼可能!?讓我們來看一下整段程式碼:
function batchSubmit() {
    var f=document.forms[0];
    f.target="_self";f.submit();
}

就這麼簡單的一段程式碼,怎麼可能不會動!?

此時冷日就檢查一下其他需要 Submit 的 Function,也都不會動!
所以這時就回頭檢查原本的 O 程式,那邊一切正常勒!?
花了幾天慢慢檢視原始碼對照兩邊,實在是找不出來錯誤!

就在今天(2011-07-16)拿以下關鍵字去拜了 Google 大神:
document.forms[0].submit() 物件不支援此屬性或方法
找到了這篇:
糊塗程式設計師… | Arthur's Blog
他寫到了:
引言:

一個奇怪的JavaScript 神奇事件….
我在Perl 裡面用了 $q->submit();
卻不管我怎麼樣寫 JavaScript 就是不能使用 document.forms[0].submit();
任我怎麼改, 系統總是錯誤 "此物件不支援此屬性或方法"
想破了頭….找破了文件,奇怪….程式明明沒有錯…..
卻不明白,為何 document.forms[0].submit();卻不能用???
最後………………………………….
原來是因為….在整個form裡面已經有一個名為 submit 的 物件…
所以 document.forms[0].submit變成是一個那個按鈕,
真是!@#$%^&
唯一的解法,當然得要 更改submit的名字就好了…..
但是不免令人氣憤….微軟的錯誤提示也未免給的太不精確了吧…….


所以冷日去找了一下,冷日的 N 程式裡,還真的新增了一個按鈕(就是那個送出鈕) Name 叫做 Submit !
把那個按鈕的名稱改掉以後,其他程式一點都不需要更動,就搞定了啦!.....

結論就是:
以後 Form 裡面不要亂取 Name 阿!要養成把關鍵字避開的好習慣阿!不然真的會找死!

以此做個紀錄,順便感謝『谷哥大神』與『Arthur』!
前一個主題 | 下一個主題 | 頁首 | | |



Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|