layui表单提交使⽤(submit(sub),function(){})
使。。。
ayui使⽤官⽅的表单模块('submit(sub)',function (){}) 提交,使⽤ajax请求向后台请求⼀个执⾏结果,根据结果进⾏处理,出现回调⽆法执⾏,并且页⾯出现了刷新
之前也遇到过这个问题,直接使⽤将form标签修改成了div,通过jquery为提交按钮添加点击事件,⽽不⽤submit提交表单。
今天在为毕设添加修改密码的功能的时候,再次遇到了这个问题,刚好有点空闲,决定出真正的原因。
⾸先,debug服务端逻辑,发现能正常取值,返回值也是正常
之后,检查ajax请求的 dataType是没问题的,我在服务端返回了⼀个字符串,我也指定了text属性。
百度(⾯向百度编程)之后发现原因是当button的type为submit的使⽤,页⾯会⾃动刷新,⽽我们并不希望他刷新。
既然知道了原因,那么问题就好解决了,只要在submit⽅法的最后添加个 return false就解决了
下⾯是请求的JS代码,最后⼀⾏添加 return false 问题解决
<('submit(sub)',function (){
var newpwd = $('#newpwd').val();
var confirmpwd = $('#confirmpwd').val();
if(newpwd != confirmpwd){
$('#rcp').attr('hidden','hidden');
$('#ecp').removeAttr('hidden');
layer.msg("两次输⼊密码不⼀致");
return false;
}else{
var data = {
originPwd:$('#originpwd').val(),
newPwd:$('#newpwd').val()
}
$.ajax({
url:'/user/changePwd',
type:'post',
dataType:'text',
contentType: 'application/json',
data:JSON.stringify(data),
timeout:2000,
beforeSend:function (xhr) {
xhr.setRequestHeader(header,token);
},
success:function(data){
console.log(data);
if(data == 'success'){
layer.msg("密码修改成功");
location.href = "/user/loginpage"
}else{
layer.msg("密码修改失败")
}
},
error:function () {
layer.msg("密码修改失败")
}
})
}
return false;
})
---------------------------------------xadmin中弹出页⾯,异步提交被关闭---------------------------------------------------------------------------
//监听提交
<('submit(add)', function (data) {
//console.log(data);
//发异步,把数据提交给php
var name = data.field.name;
var desc = data.field.desc;
$.ajax({
type: 'post',
url: "{:url('admin/AdminRole/save')}",
data: {name: name,remark:desc},
success: function (res) {
if (res.status == 200) {
layer.alert(res.msg, {icon: 6}, function () {
// 获得frame索引
layui框架怎么用
var index = FrameIndex(window.name); //关闭当前frame
parent.layer.close(index);
//刷新页⾯
load();
});
//load();
} else {
layer.alert(res.msg, {icon: 5}, function () {
// 获得frame索引
var index = FrameIndex(window.name); //关闭当前frame
parent.layer.close(index);
/
/刷新页⾯
load();
});
}
}
});
return false;
});
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论