最近在使用Layui做项目的时候使用layui表单功能进行ajax和后台进行数据交互(项目中使用了同步加载),在点击提交后,需要跳转到另一页面,但实际ajax的success后书写window.location.href后并未成功跳转。而修改为return window.location.href,而是先刷新了表单然后再跳转的页面。
基于
下面这段代码是官方提供的关于提交操作的代码规范。
form.on('submit(*)', function(data){
console.log(data.elem) //被执行事件的元素DOM对象,一般为button对象
console.log(data.form) //被执行提交的form对象,一般在存在form标签时才会返回
console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value}
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
根据官方提供的示例,发现其实只需要在本项目中最后提交的最后一行(ajax外)加入
return false;
则可以避免之前提到的提交表单后不跳转问题,即提交后停在提交状态然后进行window.location.href操作,不过产生之前项目中问题具体原因尚不了解,没有仔细去看layui的config配置。