表單裏的button默認是submit類型

  今天很坑爹,週六一大早加班開始碼代碼,原本想作數據加密測試,因而乎用tp框架搭建了一個應用環境,二話不說,開始碼碼。html

  但,今天一大早就栽坑!直到同事喊吃飯還在坑裏出不來!吃完飯繼續碼,最後碼的我想哭o(╥﹏╥)oajax

  我發現,只要是我在加上了<form>標籤,個人button綁定的ajax就提交失敗,個人button明明沒有標記「type=submit」爲毛感受每次ajax提交失敗,但頁面卻莫名奇妙的被刷新!!!微信

  毀三觀場面描述以下:框架

       去掉form,點擊button,ajax提交成功,順利執行了ajax回調;異步

    加上form,點擊button,ajax阻塞無返回狀態,頁面自動刷新,但查看後臺數據提交成功!測試

      綜上,我分析得出結論ui

      加上form後,進行了表單級提交,刷新了整頁面!加密

      而ajax是異步的,因此,後臺沒法再路由到已被刷新推動history的歷史頁面,更沒法找到回調,因此看到數據被後臺保存,而ajax一直是阻塞。spa

      惟一的罪魁禍首就是button了,點擊button時確定觸發了form表單的默認提交操做,即便action=""仍是會刷新整頁面orm

      基於上述分析推論,我給button加上了類型控制,再次保存,運行,一切OK!  

<form method="get" action="">
		<fieldset>
			<legend>新增一條人員信息</legend>
			<div class="row">
				<label>姓名</label><input type="text" name="f_name" required="required" value="test9"/>
			</div>
			<div class="row">
				<label>工號</label><input type="text" name="f_no" required="required" value="test9"/>
			</div>
			<div class="row">
				<label>微信號</label><input type="text" name="f_wx" required="required" value="test9"/>
			</div>
			<div>
				<button  type="button" id="btn_add_staff" >提交</button>
			</div>
			<!--表單裏的button的問題!-->
		</fieldset>

   事實證實,form表單裏的button默認的是submit類型,雖然沒有在API裏看到,但驗證過程證明了這一點,爲何以前一直沒有發現呢?

  由於以前的我,那個當心謹慎保守的,一直用的input,此次本想用下Button,好靠近h5的腳步,沒想到這第一步就踩雷了!o(╥﹏╥)o

       記錄,分享,讓技術更美好~ღ( ´・ᴗ・` )比心

相關文章
相關標籤/搜索