第八章 表单验证和表单提交方式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4
© 2012 Inspur Group
Inspur Education
表单验证的内容-2
只能二选一
不能为空且包含 字符@和.
年月日不能 为空,且不 能超出其要 求的范围
5
© 2012 Inspur Group
Inspur Education
表单验证的思路-1
如何编写脚本验证表单?
1、获取表单元素的值(String类型),然后进行判断
7
© 2012 Inspur Group
Inspur Education
表单验证的思路-3

String对象常用的属性和方法
名 称 说 明
语法: indexOf(“ 查找的子字符串”,查找的起始位置)获取字符串字符的个 length 属性 返回子字符串所在的位置;如果没找到,返回 数 -1 例如: 方法 var x indexOf(“ 子 字 符 串 ” , 起 始 查找子字符串的位置 var y=“abcdefg”; 位置) x=y.indexOf(“c” , 0 ); 获取位于指定索引位 charAt (index) 0 //返回结果为 2,起始位置是
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xmlHttp.send("username=dashu");
15
© 2012 Inspur Group
Inspur Education
文本框控件-2
使用文本框对象的相关方法,实现选中效果
文本框对象的常用属性、方法、事件
名 称
属性 value
说 明
设置或获取文本框的值
方法
事件
focus( )
select( ) onFocus onBlur
获得焦点
选中文本内容,突出显示输入区域 光标进入某个文本框脚本运行 文本框失去焦点脚本运行
9
© 2012 Inspur Group
Inspur Education
表单验证的思路-5-1
10
© 2012 Inspur Group
Inspur Education
表单验证的思路-5-2
<SCRIPT language = "JavaScript"> 获取表单元素的值 function checkUserName(){ //验证用户名 var fname = document.myform.txtUser.value; 验证用户名不 if(fname.length != 0){ 能包含数字 for(i=0;i<fname.length;i++){ var ftext = fname.substring(i,i+1); if(ftext < 9 || ftext > 0){ alert("名字中包含数字 \n"+"请删除名字中的数字和特殊字符"); return false } } } else{ alert("请输入“名字”文本框"); document.myform.txtUser.focus(); return false } return true; } ……
onKeyPress 当一个键按下并释放时去触发一个事件
16
© 2012 Inspur Group
Inspur Education
文本框控件-3
<SCRIPT LANGUAGE = "JavaScript"> …. function clearText( ) { if (document.myform.txtEmail.value==“请输入真实的电子邮箱,我们将 清空文本框的内容 发送激活密码") { document.myform.txtEmail.value="" ; document.myform.txtEmail.style.color="red"; 修改文本框的颜色 } } </SCRIPT>…… <TD colspan="2"><INPUT name="txtEmail" type="text" class="textBorder" id="txtEmail" value="请输入真实的电子邮箱,我们将发送激活密码" size="40" onFocus="clearText( )" style="color: #666666;"> 文本框获得焦点就调 *必填</TD> 用方法clearText( ) ……
© 2012 Inspur Group
Inspur Education
Ajax中Post实现方式
我们在以前的课程中学习了XMLHttpRequest的 open和send方法。前面我们使用的是Get方式 提交。如果要使用Post方式提交,只需要设定 一下请求的头信息,然后把数据放到send中发 送即可。
11
© 2012 Inspur Group
Inspur Education
表单验证的思路-5-3
<SCRIPT language = "JavaScript"> …… 获取表单元素的值 function passCheck(){ //验证密码 var userpass = document.myform.txtPassword.value; if(userpass == ""){ alert("未输入密码 \n" + "请输入密码"); document.myform.txtPassword.focus(); return false; } 验证密码不少于6位 if(userpass.length < 6){ alert("密码必须多于或等于 6 个字符。\n"); return false; } return true; } …… </SCRIPT> ……
置的字符 求子串
substring(index1,index2 )
toLowerCase( ) toUpperCase( )
将字符串转换成小写 将字符串转换成大写
8
© 2012 Inspur Group
Inspur Education
表单验证的思路-4
获取表单元素的值 <SCRIPT LANGUAGE = "JavaScript"> function checkEmail( ) { var strEmail=document.myform.txtEmail.value; if (strEmail.length==0) { alert("电子邮件不能为空!"); 返回结果-1表示 return false; } 没找到“@”字符 if (strEmail.indexOf("@",0)==-1) { alert("电子邮件格式不正确\n必须包含@符号!"); return false; } if (strEmail.indexOf(".",0)==-1) { alert("电子邮件格式不正确\n必须包含.符号!"); return false; } return true; } </SCRIPT> 表单的提交事件 检查电子邮件email ……< 是否包含“onSubmit=“return @”和”.” <FORM name=“myform” method=“post” action=“reg_success.htm” checkEmail( )”> …… <INPUT name="registerButton" type="submit" id="registerButton" value=" 注 册 " > ……
© 2012 Inspur Group
Inspur Education
常见错误-2
20
<SCRIPT language="javascript"> function validateform( ){ if(sNameCheck() && passCheck()&&bdaycheck()) return true; else return false; onsubmit不是提交 …… } 按钮的事件 </SCRIPT> …… <input type="button" name="Button" value=" 登 录 " onsubmit="return validateform( )" > ……
Inspur Education
表单验证和表单提交ቤተ መጻሕፍቲ ባይዱ式
© 2012 Inspur Group
Inspur Education
本节目标
掌握表单验证常用方式 掌握Post和Get的不同
© 2012 Inspur Group
Inspur Education
为什么需要表单验证
用户输入 客户端
IE
用户输入 客户端
17
© 2012 Inspur Group
Inspur Education
小结 2
编写如下图所示,实现注册表单的验证功能
密码和再次输入 的密码必须相同
年份必须 是20打头
每个文本 框非空
日期必须在 1到31之间
18
© 2012 Inspur Group
Inspur Education
常见错误-1
13
© 2012 Inspur Group
Inspur Education
小结 1
编写如下图所示,实现登录表单的验证功能
14
© 2012 Inspur Group
Inspur Education
文本框控件-1
如何实现如下图所示,完善电子邮件的例子。
用户单击时,邮 提示电子邮 输入的信息 箱的提示信息 件格式不对 自动被选中 自动清除 并高亮显示
12
© 2012 Inspur Group
Inspur Education
表单验证的思路-5-4
<SCRIPT language = "JavaScript"> 同时调用验证用户 …… 名和验证密码方法 function validateform(){ if(checkUserName()&&passCheck( )) return true; else return false; } </SCRIPT> 表单的提交事件 …… <FORM name="myform" onSubmit="return validateform( )“ method="post" action="reg_success.htm" >…… <INPUT name="registerButton" type="submit" id="registerButton" value=" 登 录 " > …… 触发表单提交事件
……
……
用户输入 客户端
服务器
脚本在客户端执行,减轻服务器端的压力
3
© 2012 Inspur Group
Inspur Education
表单验证的内容-1
不能为空,且只 能包括字母、数 字和下划线字符
不能为空且 不能有数字
不能为空且 不能有数字
密码不能为空并且最 少为6位,还要求两 次输入的密码要一致
19
<SCRIPT language="javascript"> function validateform( ){ if(sNameCheck() && passCheck()&&bdaycheck()) return true; else return false; 提交按钮 type="submit" …… } </SCRIPT> …… <input type="button" name="Button" value=" 登 录 " > <input type="button" name="Reset" value=" 重 填 "> 清空按钮 type="reset" ……
2、触发表单(FORM)的提交事件(onSubmit)
6
© 2012 Inspur Group
Inspur Education
表单验证的思路-2
常用的String对象
• 使用 var 语句 var newstr = "这是我的字符串" • 创建 String 对象 var newstr = new String("这是我的字符串 “) • 调用方法和属性 字符串对象.属性名 字符串对象.方法名( )
© 2012 Inspur Group
Inspur Education
POST和GET的区别
Get请求发送的数据和URL在一起以明文发送,会被保 留在历史记录里。 Post请求发送的数据和URL分离。 Get传送的数据量较小,不能大于2KB。 Post传送的数据量较大,一般被默认为不受限制。但 理论上,因服务器的不同而异.
相关文档
最新文档