博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基本表单的开发
阅读量:7099 次
发布时间:2019-06-28

本文共 1906 字,大约阅读时间需要 6 分钟。

hot3.png

一。定义 表单

表单有如下 性质 

可以输入一些 内容 ,叫表单元素

一般都有一个按钮负责提交 

单击提交 后,表单元素中的内容 会提交 给服务器

表单元素放在<form></form>之间

如下 :

请输入号码:
请输入密码 : 

表单中的内容 会提交 给服务 器,如何确定提交给服务 器端的那个页面呢?可以 用  action属性来确定 。

改上面 的

那么 page.jsp 中如何 得到提交 过来 的内容 呢。用的是request对象 。

二。单一表单元素数据 的获取 

  单一 表单指的是表单元素送给服务 器时,只是一个变量。

(1)获得文本框中的数据 

实际 中可以根据传递的值 查询数据 库。

如果输入 的是中文,不能正常显示 ,后面不规则讲怎么办。下面的都是英文的。

我们可以 看到,提交 的内容 在浏览器的地址上都可以看到,因为默认是 get ,不安全,怎么办呢,方法是在表单中,将属性method 改成 post .

get 和post 是提交 请求的 两种方法。

(2)获得密码框中的数据 

 

不会显示密码 明文。

(3)获得多选文本框中的数据 

(4)获得单选按钮中的数据 

  请您选择性别:    
 男    

提交过去 的是value 而不是后面的汉字。

(5)获取下拉菜单中的数据 

  
    
北京     
上海      
武汉    

三。一些 问题

  (1)用javascrept进行验证

    有时候 ,要会输入 的内容 作一些 验证,比如输入 用户名不能为空,因此 ,当我们点击提交 时,不能马上提交 ,而要先验证,这里要用到javascript ,

因此 ,提交 按钮不能设定为 submit ,而应该是  button .

  
function validate() { if (loginForm.account.value == "") { alert("姓名不能为空"); return; } if (loginForm.password.value == "") { alert("密码不能为空"); return; } loginForm.submit(); }
请输入姓名:
请输入密码:
 
 

(2)提交过程中显示乱码

   当我们把汉字提交给服务器时,服务器认为是iso-8859编码 ,而在网页上显示 的是 gb2312 编码 ,不能兼容 ,有三种方法解

1. 将其转换成 gb2312 

  这个 方法要对每一个字符 串进行转码,很麻烦 。

 <%  String name = request.getParameter("name"); if (name!=null){   name = new String (name.getBytes("ISO-8859-1"), "gb2312");   out.println(name);   }   %>

2. 直接修改  request 的编码 

  这样 就不用再对每一个字符串进行转码

 <%  request.setCharacterEncoding("gb2312"); String name = request.getParameter("name"); if (name!=null){   //name = new String (name.getBytes("ISO-8859-1"), "gb2312");   out.println(name);   }   %>

注意:

要在取出值前进行设置,表单的提交 方法应该是post ,且在每一个页面中都要进行设置,也比较复杂 。

3 使用过虑器

可以 对整个web 运用进行设置。

转载于:https://my.oschina.net/chuiyuan/blog/275351

你可能感兴趣的文章
免费论文查重
查看>>
[转]gcc -ffunction-sections -fdata-sections -Wl,–gc-sections 参数详解
查看>>
【2012百度之星资格赛】G:聊天就是Repeat
查看>>
loadrunner web_custom_request 脚本处理
查看>>
【中文】Joomla1.7扩展介绍之Sitelinkx (自动链接)
查看>>
上下文菜单点击获取ContextMenu实例方法
查看>>
【转】Entity Framework6 with Oracle(可实现code first)
查看>>
6 Spring Boot 静态资源处理
查看>>
MyEclipse8.6启动后提示内存不足的解决方案(亲测,完美解决)
查看>>
架构设计:生产者/消费者模式
查看>>
最小花费
查看>>
【Unity3D】Unity3D之 Resources.Load 动态加载资源
查看>>
使用jmeter进行简单的压测
查看>>
创建逻辑卷
查看>>
Ubuntu安装显卡驱动+cuda8+cudnn
查看>>
SSH: sshd dead but subsys locked
查看>>
被孟加拉题吊打的ACM考试
查看>>
git 使用命令
查看>>
D90四种对焦点模式
查看>>
mac下SVN上传.a静态库文件
查看>>