今天要實現(xiàn)一個功能,遇到一個坑,自己折騰了很久躁倒,記錄一下以提醒自己以及他人。代碼如下:
<form class="form-inline">
<div class="tab-group">
<label for="exampleInputName2">站點:</label>
<!-- <input type="text" class="form-control" id="exampleInputName2"> -->
<select id="selectOne" class="form-control" style="margin-right:10px;"></select>
</div>
<div class="tab-group">
<label for="exampleInputName2">時間:</label>
<p>從</p>
<input class="Wdate" type="text" class="form-control" id="startDate" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd',readOnly:true})"/>
<p>到</p>
<input class="Wdate" type="text" class="form-control" id="endDate" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd',readOnly:true})"/>
</div>
<button type="submit" id="btn" class="btn btn-default btn-search">查詢</button>
</form>
當我在button上面綁定事件的時候洒琢,始終不能成功秧秉。查錯的時候一直以為是自己的js有誤,就在那里不停的調(diào)js衰抑,然后一直查不出原因象迎,請教同事,也是查不出js的原因呛踊,突然我對同事說砾淌,會不會是我的HTML有問題。然后我們就來查HTML谭网,最開始也是沒有發(fā)現(xiàn)什么問題汪厨,然后我就說我把button移個位置試試,結(jié)果位置變化后蜻底,button綁定事件居然成功了骄崩。反復(fù)移動位置之后聘鳞,終于發(fā)現(xiàn),居然是form的原因要拂,當form標簽包裹button之后抠璃,就獲取不到button的綁定事件了。form一般是表單脱惰,但是我在這里使用并不是為了創(chuàng)建表單搏嗡,而是使用form來包裹整個部分。獲取不到綁定事件因為點擊了button之后拉一,頁面會執(zhí)行form的action贞谓,也就是自動提交表單桨嫁。為了讓頁面執(zhí)行button綁定的事件测蘑,需要在form中增加 onSubmit="return false;"或者將button的type=“button”屬性既棺,或者是form中的 <input type="button">。最簡單的方法是嫡纠,button標簽盡量少和form一起使用烦租。