3.1 表单页面的基本结构


本章开始讲解表单和框架,其中重点是如何使用表单中的各种元素.如何使用框架制作多窗框页面;难点是表单中的post方法和get方法的区别.窗口的target属性。为了能在一个页面中显示多个HTML文档.我们还要介绍框架。

本节单词记忆:标签 1.form 2.input 属性 1.action 2.method 3.size 4.maxlength 5.checked

网页学习网提示:html语言非常简单,不需要逻辑理解,而绝大部分朋友觉得它难以掌握,90%的原因在于英语单词不过关,所以每节记忆几个单词是非常有必要的。

热衷于上网的用户经常会在网上看到一些会员注册页面、购买某个商品收集信息页面、网上调查问卷页面、搜索工具页面等,这些页面是什么做的呢?我不敢说完全是用表单做的,但我敢肯定至少包含有表单,所以表单主要用来收集客户端相关信息,使网页具有交互功能。本节主要讨论如何使用HTML来创建表单,然后向表单中添加表单元素。

网页中的表单用途很广,而且还在不断发展。下面我们就列举一些典型的表单应用:

● 在用户注册某种服务或事件时收集姓名、地址、电话号码、电子邮件和其他信息。

● 为收集购买某个商品的订单信息。例如,如果想通过Intemet购买一本书,则必须填写姓名、联系电话、邮寄地址、付款方式和其他相关信息。

● 收集关于调查问卷信息。大部分提供服务性的网站都鼓励用户参与调查问卷,提供反馈信息。这些反馈信息除了维系良好的客户关系外,它还有助于改进和提高网站的服务质量,从而使网站的服务更具人性化,吸引更多的浏览者。

● 为网站提供搜索工具。提供各种信息的站点通常会为用户提供一个搜索框,使用户能够更快地找到想要的信息,如比较著名的搜索网站:谷歌(http://www.google.cn)、百度(http://www.baidu.com)等。

如图1所示是网页上的一个典型表单。


图1 典型的表单

一、表单包含的控件

创建表单后,就可以在表单中放置控件以接受用户的输入。这些控件通常放在<FORM></FORM>标签对之间一起使用,也可以在表单之外用来创建用户界面。在网上冲浪时,我们经常会见到一些常用的控件,例如:让用户输入姓名的单行文本框,让用户输入密码的密码框,让用户选择性别的单选按钮以及让用户提交信息的提交按钮等。

不同的表单控件有不同的用途。如果要求用户输入的仅仅是一些文字信息,如“姓名”、“备注”、“留言”等,一般使用单行文本框或多行文本框;如果要求用户在指定的范围内做出选择,一般使用单选按钮、复选框和下拉列表框,如图1中“性别”、“爱好”、“出生日期”中的月份选择等常采用这些控件。如果要把填写好的表单信息提交给服务器,一般使用“提交”按钮,如图3.1中的“同意以下服务条款,提交注册信息”按钮。除此之外,还有一些不太常用的表单控件,在这里就不一一列举了。

二、表单页面的基本结构

<FORM>标签用于在网页中创建表单区域,属于一个容器标签,表示其他表单标签需要在它的包围中才有效,<INPUT>便是其中的一个。用以设定各种输入资料的方法,其属性见下表。

属 性 说 明
action 此属性指示服务器上处理表单输出的程序。一般来说,当用户单击表单上的“提交”按钮后,信息发送到Web服务器上,由action属性所指定的程序处理。语法为:action= "URL"
method 此属性告诉浏览器如何将数据发送给服务器,它指定向服务器发送数据的方法(用post方法还是用get方法)。如果值为get,浏览器将创建一个请求,该请求包含页面URL、一个问号和表单的值。浏览器会将该请求返回给URL中指定的脚本,以进行处理。如果将值指定为post,表单上的数据会作为一个数据块发送到脚本,而不使用请求字符串。语法为:method= (getl post)

使用post方法将表单提交给"processform"程序处理,代码如示例1所示。

示例1:

<FORM name="form1" method="post" action="http://www.lodidance.com/processform">
<P>名字:
  <INPUT name="name" type="text" class="input" id="fname">
</P>
<P>密码:
  <INPUT name="pass" type="password" class="input" id="pass">
</P>
<P>
  <INPUT type="submit" name="Button" value="提交">
  <INPUT type="reset" name="Reset" value="重填">
</P>
</FORM>

在示例1中,若把method=”post”改为method=”get‘’就变成了使用get方法将表单提交给"processform"程序处理。这两种方法都是将表单数据提交给服务器上指定的程序进行处理,那有什么区别呢?

先让大家看看采用post和get方法提交表单信息后浏览器地址栏的变化,如图2和图3所示。在“名字”和“密码”标签后,分别输入用户名和密码,然后单击“提交”按钮。采用post方法提交表单信息之后,浏览器地址栏前后没变化,如一图3.2所示;采用get方法提交表单信息之后,浏览器地址栏前后有变化,如图3.3所示,并且在浏览器地址栏中能看到信息"name=wzq&password=123”,这其实就是我刚才输入的用户名和密码信息,是不是很恐怖?密码都能看得见。由此可以看出,使用post方法提交表单信息更安全,相反,使用get方法提交表单信息极其不安全,建议大家在使用表单时尽可能地使用post方法来传送数据。


图3 get方法提交表单信息后

三、表单元素的统一格式

网页中的表单由许多不同的表单元素组成,这些表单元素各自都有很多属性,要一一节绍,篇幅不允许,下面就把这些表单元素中的一些常用的属性作一个统一的介绍。

下面给出了表单元素的统一格式:

<FORM name="form3" method= ”post“ action=“”>
<INPUT type="checkbox" name="gen" value="男" size=“21” maxlength=“4” checked=“checked”>
</FORM>

<INPUT>元素定义要在表单中显示的控件类型和外观。此元素包括的属性见下表。

属 性 说 明
type 此属性指定表单元素的类型。可用的选项有:text、password、checkbox、radio、submit、reset、file、hidden、image和button。默认选择为text
name 此属性指定表单元素的名称。例如,如果表单上有几个文本框,可以按名称来标识它们,如textl、text2等。名称属性的作用域为FORM元素内
value 此属性是可选属性,它指定表单元素的初始值。但如果type为radio,则必须指定一个值
size 此属性指定表单元素的初始宽度。如果type为text或password,则表单元素的大小以字符为单位。对于其他输入类型,宽度以像素为单位
maxlength 比属性用于指定可在text或passwordy元素中输入的最大字符数。默认值为无限大
checked 此属性是Boolean属性,指定按钮是否是被选中的。当输入类型为radio或checkbox时,使用此属性

本节作业:本节以概念理解为主,特别注意<FORM>的action和method属性,以及理解表单的提交过程,虽然现在用不到,但在动态网页的学习中是非常重要的。

点击下载第三章案例及作业资源 返回《HTML入门经典》教程列表

编辑:网页学习网
本文地址:http://www.lodidance.com/html/jc/503.html

3.1 表单页面的基本结构

时间: 2024-10-13 08:45:18

3.1 表单页面的基本结构的相关文章

如何在MVCsheet表单页面的后台取到页面自定义字段的值?

问题: <asp:HiddenField id="test" runat="server"/> 在前台加了这样一个隐藏元素,mvcsheet表单页面,如何在后台获取到值,直接使用 test.value一直是空的. 前台经过一系列判断处理写入该值,需要在后台得到,然后进行处理数据. 现有流程已经上线,不想增加字段,然后再发布流程处理. 有没有什么好的方法处理? 解决方法: 1. 可以先把HiddenField 控件先换成TextBox 检查你的js是否将值

SharePoint Designer定制MOSS/WSS表单页面

SharePoint Designer定制MOSS/WSS表单页面 分类: sharepoint 学习札记2011-12-20 15:07 825人阅读 评论(0) 收藏 举报 sharepointserverbordertableclassassembly 方法一.使用SharePoint Designer配合enderingTemplate文件来定制MOSS/WSS表单页面 以通知列表(DispForm.aspx)为例,系统默认的通知列表样式如下: 默认样式用于新闻发布的时候确实不符合中国人

基于struts2 拦截器ResultType为chain的Action之间数据传递 ——表单页面打开优化

工作流所使用的表单页面使用freemarker设计,在发起或审批流程页面将表单作为一个iframe嵌入其中,实现如下: <iframe id="doJobframe" name="doJobframe" frameborder="0" scrolling="yes" height="100%" width="100%" style="padding: 0; margin-

Form 提交表 单页面刷新不跳转

方法一: 1.提交form,action 提交数据,但页面不跳转,可以使用Iframe简单方法 <!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> &

连续12天的加班工作总结-根据客户选择来生成后续表单页面

今天终于不加班了!!!让我先撒花 高呼万岁!! 其实 这样的加班工作 有的时候真的挺没有效率的 有几次晚上 我是真的真的 感觉很累了 但是想到项目的进度 我还是默默的抓紧赶 由于有保密问题 没有代码 就谈谈遇到的问题 主要是两个需求的改变,为某行的app的 travel insurance 模块增加一个新功能 CR1 就是当用户购买保险的时候增加帮 friend or parent 购买  首先通过不同的customer 的类型 来显示是 是给 friend 购买还是 parent购买 然后出现

关于提交表单页面无响应

我真的被自己蠢哭了!!! 我今天把我的代码和别人整合的时候出现了问题,我有一个页面是更新用户个人信息,修改后点提交就可以改正了.结果我整合之后,点击按钮,页面却毫无反应.代码上找不出啥错,pycharm也没报错,显示post请求200,没啥问题.我就开始临时学习postman,看看我的post请求和响应怎么出错了,结果看不懂,不知道怎么改,大概只知道请求提交成功了,但是收不到响应.最后实在没办法了,就说从头开始学起,就找了别人的代码,开始学flask表单提交.这一看就看出问题了,我的HTML里面

JavaScript在表单页面添加打印功能,打印表单中的值并打印完成后不刷新页面

在一个项目中,有一个功能需求 在一个页面上,有一个表单,表单包括textbox, radiobutton, checkbox, textarea等控件 用户填写表单后,按下submit按钮提交表单 现在用户有个需求,他们希望在这个页面上增加一个print按钮或者链接 点击print时,可以打印 最简单的想法就是,加上一个print的链接,然后调用javascript中的window.print()能打印 我最初是这样写代码的 在网页上增加一个print的链接 <a href="javasc

表单页面

注册页面 用户名: 密  码: 性  别:男 女 保密 兴  趣:唱歌 跳舞 游泳 城  市: --请选择城市-- 北京 上海 广州 城  区: 东城区 朝阳区 海淀区 天河区 白云区 越秀区 城  区: 自我介绍:

Spring Security默认的用户登录表单 页面源代码

<html><head><title>Login Page</title></head><body onload='document.f.j_username.focus();'> <h3>Login with Username and Password</h3><form name='f' action='/spring-security-samples-tutorial-3.0.8.RELEASE/j