input、button的不同type值在ajax提交表單時(shí)導(dǎo)致的陷阱
更新時(shí)間:2009年02月24日 02:34:04 作者:
最近在公司的項(xiàng)目中嘗試著利用YUI來(lái)實(shí)現(xiàn)各種效果。
今天在做利用connection 作表單提交過(guò)程中發(fā)現(xiàn),標(biāo)簽"input"跟"botton"中的type屬性設(shè)置原來(lái)也是一門學(xué)問(wèn)。
在開發(fā)過(guò)程中,為了使html代碼更加整潔,我首先利用YAHOO.util.Event.addListener(obj, "click", callback)類加載"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ù)肯定是被提交了,于是想到了我的按鈕,按鈕的類別設(shè)置是"submit",之前在寫代碼時(shí),都是直接在"input"或者"button"中,如果類別設(shè)置為"submit"時(shí),都是這樣寫的onclick="return fun();"或者onclick="fun(); return false;";這自然是不會(huì)出現(xiàn)問(wèn)題,怪就怪在,addListener類的值并不是直接影響到按鈕的,一點(diǎn)擊按鈕,自然也就會(huì)提交數(shù)據(jù)了。
慘痛啊~~~~
附:button默認(rèn)type值為submit,因此最好標(biāo)識(shí)下類別?。?!謹(jǐn)記!
在開發(fā)過(guò)程中,為了使html代碼更加整潔,我首先利用YAHOO.util.Event.addListener(obj, "click", callback)類加載"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ù)肯定是被提交了,于是想到了我的按鈕,按鈕的類別設(shè)置是"submit",之前在寫代碼時(shí),都是直接在"input"或者"button"中,如果類別設(shè)置為"submit"時(shí),都是這樣寫的onclick="return fun();"或者onclick="fun(); return false;";這自然是不會(huì)出現(xiàn)問(wèn)題,怪就怪在,addListener類的值并不是直接影響到按鈕的,一點(diǎn)擊按鈕,自然也就會(huì)提交數(shù)據(jù)了。
慘痛啊~~~~
附:button默認(rèn)type值為submit,因此最好標(biāo)識(shí)下類別?。?!謹(jǐn)記!
相關(guān)文章
在第一個(gè)input框內(nèi)輸入內(nèi)容.textarea自動(dòng)得到第一個(gè)文件框的值的javascript代碼
在第一個(gè)input框內(nèi)輸入內(nèi)容.textarea自動(dòng)得到第一個(gè)文件框的值的javascript代碼...2007-04-04
javascript據(jù)option的value值快速設(shè)定初始的selected選項(xiàng)
javascript據(jù)option的value值快速設(shè)定初始的selected選項(xiàng)...2007-08-08
javascript在一段文字中的光標(biāo)處插入其他文字
javascript在一段文字中的光標(biāo)處插入其他文字...2007-08-08
javascript 操作select下拉列表框的一點(diǎn)小經(jīng)驗(yàn)
今天客戶對(duì)項(xiàng)目提出新需求,要求商品品牌不但能選擇,還要能夠錄入,而且錄入的品牌名稱必須是下拉列表框里面的相(由于商品品牌太多,不好選擇,所以有此要求;在此將我的處理方法記錄一下)。2010-03-03

