|
在開發過程中,為了使html代碼更加整潔,我首先利用YAHOO.util.Event.addListener(obj, "click", callback)類加載"click"事件來提交表單,YAHOO.util.Connect.asyncRequest('POST')方式來上傳表單數據,如果表單信息不正確,那么作返回處理。而提交的按鈕我采用的是<button type="submit">提交</button>。
這時發現除了IE6能夠對我的表單數據作出正確的處理外,FIREFOX包括IE7都不能對我的錯誤處理作出回應(callback方法中,正對錯誤的處理方式是:只要一碰到錯誤,那么就通過return false的方式返回)。
這時在我的思路里想的是,在語句中提交表單數據前我已經做了返回處理,可頁面怎么還是給刷新了呢。
晚上回到家里再次對今天碰到的問題做測試,結果發現,我忽略了一點,數據也的確是有提交了,并且在地址欄中可以明確地看到各種數據,而事實也證明,數據肯定是被提交了,于是想到了我的按鈕,按鈕的類別設置是"submit",之前在寫代碼時,都是直接在"input"或者"button"中,如果類別設置為"submit"時,都是這樣寫的onclick="return fun();"或者onclick="fun(); return false;";這自然是不會出現問題,怪就怪在,addListener類的值并不是直接影響到按鈕的,一點擊按鈕,自然也就會提交數據了。
慘痛啊~~~~
附:button默認type值為submit,因此最好標識下類別!!!謹記!
JavaScript技術:input、button的不同type值在ajax提交表單時導致的陷阱,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。