今天工作遇到了一个比较奇葩的问题。
问题描述:jQuery的ajax部分,本来是要局部刷新一个Highcharts图表的。结果每次点击按钮时,都会重新reload整个页面。导致js设置的一些搜索变量都会恢复初始值。
本人主攻后端,对前端不是特别了解,仅限于会用的阶段,这个问题可是坑死我了。找了好长时间都没有找到原因。
即便我吧页面其他的东西全部剔除,只剩ajax的部分,这个问题依旧存在,每次都是刷新一整页。直到。。。我无意中给点击的button换了一个id。。问题居然好了。。好了。。。
我的页面大致结构如下
<form>
...各种input框,接受查询参数
<input type="button" id="refresh"/>
</form>
问题就出在这个id上。google一番之后,发现id为submit或refresh是,会自动提交或刷新整个页面。绑定事件也不管用。
解决方案:将id换成别的即可,以后命名时要注意不要在出现这种容易混淆的单词。