文档章节

基本表单的开发

c
 chuiyuan
发布于 2014/06/06 22:34
字数 833
阅读 187
收藏 8
点赞 0
评论 0

一。定义 表单

表单有如下 性质 

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

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

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

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

如下 :

<form>
请输入号码:<input name="account" type ="text"><br>
请输入密码 : <input name= "password" type= "password"><br>
<input type ="submit"  value="登录">
</form>

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

改上面 的

<form action ="page.jsp">

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


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

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

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

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

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

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

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

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

<input name ="password" type="password"> <br>

不会显示密码 明文。

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

<textarea name= "info" rows="5" cols="30"></textarea>

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

  请您选择性别:
    <input name= "sex" type="radio"  value="boy"  checked> 男
    <input name ="sex" type ="radio"  value="girl" >女<br>

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

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

  <select name ="home">
    <option value = "beijing">北京</option>
     <option value = "shanghai">上海</option>
      <option value = "wuhan">武汉</option>
    </select>


三。一些 问题

  (1)用javascrept进行验证

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

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

<body>
  <script type ="text/javascript">
			function validate() {
				if (loginForm.account.value == "") {
					alert("姓名不能为空");
					return;
				}
				if (loginForm.password.value == "") {
					alert("密码不能为空");
					return;
				}
				loginForm.submit();
			}
		</script>
	<form name ="loginForm"  action ="target.jsp"  method="post">
		请输入姓名:
		<input name="account"  type= "text" ><br>
		请输入密码:
		<input name ="password" type ="password"> <br>
		<input type="button"  value="登录" onClick="validate()"> 
	</form>
</body>

(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 运用进行设置。


© 著作权归作者所有

共有 人打赏支持
c
粉丝 9
博文 91
码字总数 40993
作品 0
海淀
web工作流管理系统开发之十四 流程设计器属性页面之实现篇

在工作流管理系统中,可视化流程设计器是必须要实现的。 流程引擎可以是默默的运行,但流程设计器就必须要展现出来。所以界面的美观,操作简便易用,是必须要考虑的问题。 流程设计器,主要完...

长平狐 ⋅ 2012/10/11 ⋅ 0

表单自定义和报表自定义的误区

每一家企业的表单范围及表单内容都会千差万别,流程也都会不一样。企业实施流程管理,表单和流程基本上都需要全部重新开发和定制,所以流程管理必须要有非常优秀的表单开发能力和灵活的流程定...

E8工作流 ⋅ 2014/01/27 ⋅ 0

实现基于ASP.NET MVC快速开发平台

最近一个月,自己利用业余时间开发一个基于ASP.NET MVC快速开发平台。现在勉强算个原型,但是感觉不是那么回事,把实现的过程写出来,欢迎大家拍砖。 开发思想:利用Asp.Net MVC的思想,实现自...

王二狗子11 ⋅ 01/01 ⋅ 0

RoadFlow 工作流引擎 1.0 正式版发布

自RoadFlow工作流引擎测试版开源发布以来,受到广大开发者好评,在您们的支持下,我们加紧开发时间,现在整个平台功能已基本完善,包括流程设计器,表单设计器等工作流引擎核心功能已全部开源...

cqroad ⋅ 2014/05/05 ⋅ 15

php表单自动构建

经常用Thinkphp框架做项目开发,各功能模块基本都要用到增删改查操作,页面基本一致,除了表单字段不同之外基本都差不多,但每次需要一个个的改每个模块下面的增加 编辑 列表 页的字段和名称,重复...

manbudezhu ⋅ 2017/07/05 ⋅ 3

实现基于ASP.NET MVC快速开发平台

最近一个月,自己利用业余时间开发一个基于ASP.NET MVC快速开发平台。现在勉强算个原型,但是感觉不是那么回事,把实现的过程写出来,欢迎大家拍砖。 开发思想:利用Asp.Net MVC的思想,实现自...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

knockout2.0系列教程汇总

本文档对knockout2.x的基本使用方法做了讲解,虽然不是十分全面,但也几乎涵盖了knockout2.x的知识(除了高级用法、自定义绑定) 高级应用 分享到:

zuolz1985 ⋅ 2013/05/11 ⋅ 0

flask能在win7系统上部署吗?

想做一个小应用,基本就是收集人员信息,填写表单保存表单的功能。在公司内部使用。 现在在win7下用flask开发,请问部署应该怎么做呢?

muri9du ⋅ 2015/06/02 ⋅ 1

在JSF2中的防止表单重复提交

在B/S系统开发过程中,关于如何防止表单的重复提交问题,也是一个老生常谈的问题,这里说说如何在JSF2的开发环境下防止表单重复提交。 问题解决的思路基本和struts的思路是一致的,那就是 1....

伪猫 ⋅ 2012/03/28 ⋅ 0

Spring MVC的各种参数绑定方式(请求参数用基础类型和包装类型的区别)(转)

1、基本数据类型(以int为例,其他类似): Controller代码: @RequestMapping("saysth.do")public void test(int count) {} 表单代码: ...... 表单中input的name值和Controller的参数变量名...

easonjim ⋅ 2017/12/10 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从 Confluence 5.3 及其早期版本中恢复空间

如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。你可以使用临时的 Confluence 空间安装,然后将这个 Confluence 安装实例升级到你现...

honeymose ⋅ 今天 ⋅ 0

Java8新增的DateTimeFormatter与SimpleDateFormat的区别

两者最大的区别是,Java8的DateTimeFormatter也是线程安全的,而SimpleDateFormat并不是线程安全。 在并发环境下使用SimpleDateFormat 为了能够在多线程环境下使用SimpleDateFormat,有这三种...

人觉非常君 ⋅ 今天 ⋅ 0

多线程如何控制执行顺序

线程的生命周期说明: 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、...

MarinJ_Shao ⋅ 今天 ⋅ 0

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Django第一期

安装Django 去https://www.djangoproject.com/download/ 下载最新版的Django,然后解压放到Anaconda\Lib\site-packages目录下,然后cmd进入此目录,输入安装命令: python setup.py install ...

大不了敲一辈子代码 ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部