layui+form+Ajax

 

 

先贴一个示例代码 

layui.use([ 'form' ], function() {
	var form = layui.form, layer = layui.layer;

	/* 自定义表单验证 */
	form.verify({
		username : function(value, item) { // value:表单的值、item:表单的DOM对象
			if (!new RegExp("^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$").test(value)) {
				return '用户名不能有特殊字符';
			}
			if (/(^\_)|(\__)|(\_+$)/.test(value)) {
				return '用户名首尾不能出现下划线\'_\'';
			}
			if (/^\d+\d+\d$/.test(value)) {
				return '用户名不能全为数字';
			}
			if (value.length < 3 || value.length > 12) {
				return '用户名必须3到12位';
			}
		},
		password : [ /^[\S]{6,12}$/, '密码必须6到12位,且不能出现空格' ]
	});
	
	form.on('submit(L_submit)', function(data) {
		var username=$("#L_username").val();
		var password=$("#L_password").val();
		var vercode=$("#L_vercode").val();
		$.ajax({
			type:'POST',
			url:'user/login.do',
			data:{username:username,password:password,vercode:vercode},
			success:function(data){
				if(data=="success"){
					window.location.href='logindex.jsp';
				}
				else{
					layer.alert("用户名或密码错误",
					{title:'登录失败'});
				}
			}
		});
		return false;
	});

});

第一  引入使用form表单:

那么我们写在页面上的<form>标签是静态的,当我们在JavaScript中使用时,需要进行调用,怎么调用呢?

我上面这段代码,包含了调用表单,自定义调用表单,以及使用Ajax提交后台的验证。

调用表单:layui.use([ 'form' ], function() {

            var form=layui.form;

}

第二  自定义表单验证:

这个是官网文档的,使用的是正则表达式,当然也可以使用我们熟悉的,比如下面的用户名长度的验证,那个是我自己添加的。

第三  提交监听:

就是下面的form.on('submit(L_submit)', function(data),固定语法,L_submit  是你的form表单的提交按钮的属性                     

 <button class="layui-btn" lay-filter="L_submit" lay-submit>立即登录</button>

 就是 这个  lay-filter   就相当与jQuery的  id选择器    lay-filter 就相当于一个锚点。

第四  使用Ajax

这个其实是可以正常用的,首先使用jQuery的id选择器得到表单内容  然后直接进入Ajax就可以了

有的不能用的,大概率是没有引入jQuery的依赖包

<script src="community/js/jquery.min.js"></script>

 这个是不能少的,不然网页是不会识别你的jQuery语句的。

还有一个原因,就是最下面的return false ,包含在form.on内,少了这个他就会直接跳转,虽然数据提交了,结果返回了,但是跳转并不是你想要的,而且所有的提示都会消失,不起作用。

其他的就正常使用就可以了

 

 

 

很高兴为您提供帮助。下面是一个基于SpringBoot、Layui、MySQL和Ajax技术实现用户登录的示例: 1. 创建SpringBoot项目,添加Layui、MyBatis、MySQL等依赖。 2. 在application.properties文件中配置MySQL连接信息: ``` spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=utf-8&useSSL=false spring.datasource.username=root spring.datasource.password=password ``` 3. 创建User表,包含id、username和password字段。 4. 创建User类,使用Lombok注解简化代码: ``` @Data public class User { private Long id; private String username; private String password; } ``` 5. 创建UserMapper接口,使用MyBatis注解实现对User表的基本操作: ``` @Mapper public interface UserMapper { @Select("SELECT * FROM user WHERE username = #{username}") User findByUsername(String username); } ``` 6. 在UserController中编写处理用户登录请求的方法,并使用Ajax提交登录表单: ``` @Controller public class UserController { @Autowired private UserMapper userMapper; @PostMapping("/login") @ResponseBody public Result login(User user) { User loginUser = userMapper.findByUsername(user.getUsername()); if (loginUser == null) { return Result.fail("该用户不存在"); } if (!loginUser.getPassword().equals(user.getPassword())) { return Result.fail("密码不正确"); } return Result.ok(); } } ``` 7. 在前端页面中使用Layuiform组件实现登录表单,并使用jQuery和Ajax发送登录请求: ``` <form class="layui-form" action="#"> <div class="layui-form-item"> <label class="layui-form-label">用户名</label> <div class="layui-input-block"> <input type="text" name="username" required lay-verify="required" autocomplete="off" placeholder="请输入用户名" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">密码</label> <div class="layui-input-block"> <input type="password" name="password" required lay-verify="required" autocomplete="off" placeholder="请输入密码" class="layui-input"> </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-submit lay-filter="login">登录</button> </div> </div> </form> <script> layui.use(['form'], function(){ var form = layui.form, $ = layui.jquery; //监听提交 form.on('submit(login)', function(data){ $.ajax({ url: '/login', type: 'POST', data: data.field, success: function(res) { if (res.code === 0) { layer.msg('登录成功'); } else { layer.msg(res.msg); } } }); return false; }); }); </script> ``` 这样,用户登录功能就完成了。用户输入用户名和密码后,前端使用Ajax向后端发送登录请求,后端根据用户名和密码查询User表,如果查询到了该用户,则返回登录成功的消息。如果查询不到该用户或密码不正确,则返回相应的错误消息。前端接收并提示用户。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值