项目场景:
在bootstrap3以及bootstrap-table搭建的前端页面中,表单包含以button标签作为按钮。
<div class="row">
<div class="col=md-12">
<table id = "table"></table>
<!-- 表格工具栏 -->
<div id="tools" class="" style="float: right;">
<form id="frmAdd" class="form-inline" >
<div class="form-group">
<label class="control-label">雇员姓名:</label>
<select class="form-control" name="ename" id="enameList">
<!-- <option value="">请选择</option> -->
</select>
</div>
<div class="form-group">
<label class="control-label">月份:</label>
<input class="form-control" type="number" name="month" id="month" max="12" min="1"/>
</div>
<button id="addattend" class="btn btn-success" >【批量】签到</button>
</form>
</div>
</div>
</div>
...
$("#addattend").on("click",addData);//生成打卡记录按钮
function addData(){
//console.log("调试信息:生成");
if($("#enameList").val()==0){
alert("请选择用户");
return ;
}
if($("#month").val()>12||$("#month").val()<1){
return ;
}
$.post("../genAttend",$("#frmAdd").serialize(),function(rs){
alert("生成成功");
$("#table").bootstrapTable("load",rs);
//$("#table").bootstrapTable("refresh");
},"json");
}
问题描述:
触发的点击事件无法正常运作,具体包括:
- 按钮存在一个当前子页面的url,前端调试不存在跳转路径属性,仅通过鼠标悬浮预览跳转地址观察到;
- 存在无法传递参数到服务器控制器的情况;
- 可触发点击事件中的ajax但无法触发回调函数;
原因分析:
…
解决方案:
将button标签改为a标签。