黑马旅游 进度记录

本文详细介绍了使用Navicat创建数据库的过程,解决了在SQLYog中遇到的编码问题,并实现了HTML表单的JavaScript校验功能,包括用户名、密码和邮箱的正则表达式校验,以及使用Ajax进行异步表单提交。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建数据库

2019.3-2
以前一直是用navicat作为MySQL的图形化工具。视频中用了SQLYog。所以我也下载SQLYog。

创建database travel;时出现
错误代码: 1366
Incorrect string value: ‘\xE9\xBB\x91\xE9\xA9\xAC…’ for column ‘sname’ at row 1

解决办法:修改数据库编码,改为utf-8;

SQLYog出现问题,暂没解决;还是用navicat;

在navicat中创建datadbase travel;并将travel.sql导入数据库。

表单的校验功能

在register.html 中加入相应的校验代码;
校验功能实现主要分为;(用JavaScript编写。)

  1. 获取校验对应的字段;
  2. 定义正则表达式
  3. 判断

例子:

			//校验用户名
			function checkUsername() {
				//1 获取用户名
				var username=$("#username").val();
				//2 定义正则
				var reg_username=/^\w{8,20}$/;
				//3 判断,给出提示信息
				var flag=reg_username.test(username);
				if (flag){
					// 用户名合法
					$("#username").css("border","");
				} else {
					//用户名不合法 加一个红色边框
					$("#username").css("border","1px solid red");
				}

				return flag;

            }
	// 当某一个组件失去焦点时,调用对应的校验方法
				  $("#username").blur(checkUsername);

该过程中出现的问题:

  1. 组件失去焦点时才会校验;对应的校验方法为:
    KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲username").blur…("#username").blur(checkUsername();
  2. 定义的正则表达式一定要准确

异步提交表单(Ajax实现)

html为视图层,不能直接从servlet相关的域对象获取值,所以只能通过ajax获取响应数据。
实现代码为:

$(function () {
                //当表单提交时,调用所有的校验方法
				$("#RegisterForm").submit(function () {
			
					// 1 发送数据到服务器

					if (checkUsername()&&checkPassword()&&checkEmail()){
						//校验通过,调用Ajax请求 提交表单的数据
						$.post("registUserServlet",$(this).serialize(),function (data) {
							// 处理服务器响应的数据 data
						});
						
					}
					// 2 跳转页面
					 return false;
					//如果这个方法没有返回值,或者返回值为true。表单提交,否则不提交)
					});
/我的问题 registerUserServlet无效,会出现500错误,
解决方法:在新建的RegistUserServlet中修改注解
@WebServlet(name = "/registUserServlet")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值