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