chap5 表单开发.pptx
文本预览下载声明
第五章 表单开发
2017-5-28
1
本课教学内容
认识表单
单一表单元素数据的获取
捆绑表单元素数据的获取
隐藏表单
其他问题
2017-5-28
2
认识表单
表单是可以由用户输入并提交服务器处理的图形界面
2017-5-28
3
定义表单
HTML中forminput标签都是定义表单的标签
表单的属性
表单可以输入内容,输入的内容由表单元素控制
表单中通常都有一个提交按钮
单击提交按钮,表单元素会提交给服务器端
提交的内容是位于form/form之间的内容
2017-5-28
4
定义表单
若干问题
表单提交给服务器,到底是服务器上的哪个页面接收?
由Form的action属性定义
form action=“page.jsp”
form action=“../page.jsp”
form action=“jsps/page.jsp”
form action=“/Prj05/page.jsp”
2017-5-28
5
相对路径
绝对路径
定义表单
若干问题(续1)
“page.jsp”如何获得提交过来的值?
Request对象~
Request.getParameter(“元素名”)
示例:
% String str = request.getParameter(“account”);
%
Str的值=
2017-5-28
6
name=account 的表单元素值
null (当表单中没有account元素时)
“” (当表单中的account元素没有填写值的时候)
定义表单
若干问题(续2)
input type=“submit” value=“登录”表示提交按钮,可以用普通按钮来代替么?
不能!
普通按钮单击的时候没有提交表单的功能。
如果想要实现普通按钮的表单提交,必须辅助javascript编写提交代码
2017-5-28
7
单一表单元素数据的获取
单一表单元素,是指表单元素的值送给服务器端时,仅仅是一个变量。
这种情况下的表单元素主要有:文本框、密码框、多行文本框、单选按钮、下拉菜单等
利用request.getParameter(表单元素名)方法获得一个字符串。
2017-5-28
8
单一表单元素数据的获取
文本框
如果输入的查询信息为中文,会变成什么样?
乱码
怎么才能使地址栏不显示表单信息?
Method=“post”
2017-5-28
9
单一表单元素数据的获取
密码框
多行文本框
单选框
下拉菜单
2017-5-28
10
捆绑表单元素数据的获取
捆绑表单元素,是指多个同名表单元素的值送给服务器端时,是一个捆绑的数组。这种情况下的表单元素主要有:复选框、多选列表框、其他同名表单元素等
request.getParameterValues(表单元素名)
示例
%
String[] str= request.getParameterValues(“pName”);
%
2017-5-28
11
捆绑表单元素数据的获取
复选框(checkForm.jsp; checkForm_result.jsp)
多选列表(listForm.jsp ; listForm_result.jsp)
其他同名表单元素(multiNameForm.jsp;multiNameForm_result.jsp)
2017-5-28
12
数组中的下标是怎么确定的呢?
按照源码中该元素出现的顺序依次放在[0][1][2]…
隐藏表单
例子:页面 1 中定义了一个数值变量,并显示其平方;要求在页面 2 中显示其立方。很明显,页面 2 必须知道页面 1 中定义的那个变量。
可以用 URL 传值。
但是通过 URL 方法,传递的数据可能被看到。
为了避免这个问题,我们可以用表单将页面 1 中的变量传给页面 2
form action=formP2.jsp method=post
input type=text name=number value=%=number %
input type=submit value=到达p2
/form
若不想显示在页面上,可以设定为页面1中的隐藏表单。
2017-5-28
13
隐藏表单
实现方法:
网页制作中,input 有【type=hidden”】的选项,它是隐藏在网页中的的一个表单元素,并不在网页中显示出来。这就是实现隐藏表单的方法
约束
只能传字符串
传输数据虽然不显示在浏览器链接中,但是会显示在客户端源码中
优点
可以在传送数据的同时,附带上与该数据相关的信息。如修改成绩时附带上学号信息
2017-5-28
14
其他问题——预检查
用javascript进行提交
有时候,可能要对表单中的输入进行一些验证。如在登录表单中,需要输入的账号密码不能
显示全部