版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiao__jia__jia/article/details/83033638
Ajax提交表单页面仍然刷新问题解决
Ajax提交Form表单页面仍会刷新问题的快速解决办法,以及form 表单中存在button时ajax提交后自动刷新的问题,需要的朋友可以参考下,
原来点击提交按钮 少加了个type="button" 原来是 <form > <button id="sub" /> </form> 结果怎么弄都会刷新页面,加上就好了。
ps:form表单中存在button按钮没有设置type类型
<form class="form-horizontal">
<div class="form-group">
<label class="col-sm-3 control-label">修改资料名称:</label>
<div class="col-sm-7"> <input type="text" placeholder="test22" class="form-control"></div>
<div class="col-sm-2">
<button class="btn btn-primary" onclick="resetCertificateName(14)">修改</button>
</div>
</div>
</form>
当form中存在button标签时,用ajax异步提交表单后,也面会被刷新。(感觉很诡异)
原因:button 存在时会再次提交一下表单,所以页面被刷新了。(之前认为button type='submit' 时)button才有提交表单的功能。
解决:button标签换成a标签就可以了,或者说如下:
<input type="button" value="提交" class="am-btn am-btn-primary am-btn-sm submit_btn">
自己再根据submit_btn添加绑定事件:
$(".submit_btn").click(function(){
var form = new FormData();
var name = $("input[name='name']").val();
var subTitle = $("input[name='subTitle']").val();
var price = $("input[name='price']").val();
var stock = $("input[name='stock']").val();
var detail = $("#detail").html();
form.append("name", name);
form.append("subTitle", subTitle);
form.append("categoryId", children.value);
form.append("price", price);
form.append("stock", stock);
if(subImages != "") {
form.append("subImages",subImages);
}
form.append("status", status);
form.append("detail", detail);
$.ajax({
type: "post",
url: "<%=basePath%>manage/product/save.do",
data:form,
processData: false,
contentType: false,
dataType: "json",
success: function(data) {
if(data.status == 0) {
alert(data.data);
}
},
error: function(err) {
alert("错误提交!");
}
});
return false;
});