??xml version="1.0" encoding="utf-8" standalone="yes"?> Qinput type="text" name="example1" size="20" maxlength="15"Q?br> 样例2代码Q?/p>
QTEXTAREA name="example2" cols="20" rows="2" wrap="PHYSICAL"Q</TEXTAREAQ?br> 1.2.3 密码?/strong> Qinput type="password" name="example3" size="20" maxlength="15"Q?br> Qinput type="file" name="myfile" size="15" maxlength="100"Q?br> Qinput type="submit" name="mySent" value="发?Q?strong> 1.3.2 复位按钮 样例10代码Q?/p>
Qinput type="reset" name="myCancle" value="取消"Q?br> 1.3.3 一般按?/strong> 样例11代码Q?br> Qinput type="button" name="myB" value="保存" onClick="javascript:alert('it is a button')"Q?br>------------------------------------------------------------- 二、表单外观的化 2.2 用背景图化表单元素
1、CSS法
CSSQ就是大家知道的层叠样式单,它可以定义页面元素的外观Q包括字体样式、背景颜色和囑փ样式、边框样式、补白样式、边界样式等{,下面׃q几个方面出发,讨论怎样CSS应用到表单中Q彻底美化它Q?br>
1.1 字体样式的应?/strong>
字体样式包括Q字体族U?font-family)、字体风?font-style)、字体变?font-variant)、字体加_?font-weight)、字体大?font-size)、字?font)Q具体的定义ҎQ在q里不详l讲qͼ可以参考它的资料?br> 也许你已l注意到Q按钮上的文字不漂亮Q其实可以通过CSS字体样式来解冻I同样圎ͼ其它的几个涉及到文字的表单项Q例如,文本框、多行文本框、口令框、下拉选择框都可以应用字体样式?br> Z充分展示q些应用Q下例特别设计了几种样式Q在实际应用中,不必q么凌ؕQ灵z运用:
样例1Q?/strong>表单元素的字体样式展C?br>
HTML代码
[Ctrl+A 全部选择 提示Q你可先修改部分代码Q再按运行]
结Q?/strong>只要我们对字体的样式熟悉了,可以灵zd变,不一定要在标{N面用style来定义,完全可以在<headQ里定义Q或者外部引用CSS文gQ用到的时候引用一下就能达到预期的效果?br>
1.2 背景颜色和图像样式的应用
有很多时候,|页׃颜色的搭配,不得不对表单的背景颜色和囑փ样式q行设计Q背景颜色利用background-color属性,背景囑փ利用background-image属性,颜色和图像同栯够得到意想不到的效果?br>
样例2Q?/strong> 表单元素的背景展C?
HTML代码
[Ctrl+A 全部选择 提示Q你可先修改部分代码Q再按运行]
结Q?/strong>用好background-color属性和background-image属性,可以设计很?#8220;?#8221;表单了?br>
1.3 Ҏ样式的应?
也许你觉得表单的Ҏq于LQ我们能否设计单U条Q或者其它的Ҏ样式呢?当然可以Q?br>
和边框有关的属性有Q边框式样border-style、上Ҏborder-top、右Ҏborder-right、下Ҏborder-bottom、左Ҏborder-left、边框颜色border-colr、边框宽?border-width、上Ҏ宽度border-top-width、右Ҏ宽度border-right-width、下Ҏ宽度border-bottom-width、左Ҏ宽度border-left-width、边?borderQ这里不作详l的讲述Q请参考有兌料?br>
样例3Q?8U边框Ş式的展示
HTML代码
[Ctrl+A 全部选择 提示Q你可先修改部分代码Q再按运行]
文本框有8U类型边框样式,即border-styleQ分别展C在本例中,Ҏ宽度的设|有一个规律:
border-width: [ thin | medium | thick | Q长度> ]{1,4}
Ҏ宽度用一到四个值来讄元素的边框宽度,它们分别被应用于上、右、下和左Ҏ宽度。如果只l出一个|它被应用于所有边框宽度。如果两个或三个值给ZQ省略了的g对边相等
例如Q?br>
<input type="text" name="RedF" style="border-color: #006600; border-style: dotted; border-width: 1px">
Ҏ颜色的设|有一个规律:border-colr: Q颜Ԍ{1,4}
Ҏ颜色用一到四个值来讄元素的边框颜艌Ӏ如果四个值都l出了,它们分别被应用于上、右、下和左Ҏ颜色。如果只l出一个|它被应用于所有边框颜艌Ӏ如果两个或三个值给ZQ省略了的g对边相等?br>
对于多行文本框以及按钮,讄Ҏ的方法和文本框一P不再陈述Q?
׃下拉选择框select不支持边框的讄Q所以对它设|是徒劳的;
单选按钮和复选按钮的ҎQ设|的效果不十分协调,所以徏议不要对它们讄Q不然有“画蛇添”之感?br>
样例4Q边框的Ҏ设计展示
聪明的读者一定会惛_Q如果设计单ҎQ一定更加漂亮,对!下面我们来尝试以下部分边框的讄效果Q本例仅仅以Solid和dotted两种cd的边框作演示Q其它类型的Ҏ原理相同Q?br>
HTML代码
[Ctrl+A 全部选择 提示Q你可先修改部分代码Q再按运行]
注意--Ҏcd的外观如下:
none Q无Ҏ。与M指定的border-width值无养I
dotted Q点U;
dashed Q虚U;
solid Q实U边框;
double Q双U边框。两条单U与光隔的和等于指定的border-width|
groove Q?DҎQ?
ridge Q边框突P
inset Q?D凹边Q?
outset Q?D凸边
2、图像魔?/strong>
囑փQ是|页的重要元素,能否应用到表单中呢?接下来,我们用图像来攚w死板的表单Q分两个部分来探讨:用图像代替按钮、用背景囄化表单元素?br>
2.1 用图像代替按?/strong>
׃默认的表单按钮太丑陋Q绝大多数的|站采用了图像按钮,那么Q我们通过两个实例来看看怎样实现的:
样例5Q用囑փ代替提交按钮Q?/strong>
当只有一个提交按钮的时候,可以单地实现Q不用加事g函数Q代码是Q?br><input type="image" name="..." src="url" width="" height="..." border="...">
除了标签改ؓinput type="image"以外Q其它的属性和 <img> 标签的属性是一LQ例如:
HTML代码
[Ctrl+A 全部选择 提示Q你可先修改部分代码Q再按运行]
是不是只要用囄可以代替所有的按钮呢?是的Q不q,不是上面q么单了Q必d上事件函敎ͼ不然的话Q图片都是提交按钮,不能完成复位{功能,看看下面的例子就知道了:
HTML代码
[Ctrl+A 全部选择 提示Q你可先修改部分代码Q再按运行]
注意Q?
代替submit按钮的图片代码格式是
<input type="image" name="..." src="..." onClick="document.formName.submit()">
代替reset按钮的代码图片格式是
<input type="image" name="..." src="..." onClick="document.formName.reset()">
注:q里的formName是表单的name属性倹{?br>
2.2 用背景图化表单元素
其实Q前面已l提到过Q用background-image:url()属性来定义表单元素的背景图Q这里仅举一例,可以看到Q除了select没有效果以外Q其它的都可以配合网늚背景来设|它们?br>
样例6Q背景图的设|?/strong>
HTML代码
[Ctrl+A 全部选择 提示Q你可先修改部分代码Q再按运行]
]]>
一、表单概q?/strong>
表单Q在|页中的作用不可视Q主要负责数据采集的功能Q比如你可以采集讉K者的名字和eQmail地址、调查表、留a等{?br>
1、表单的l成
一个表单有三个基本l成部分Q?
Z֏不同的网设计工P本文只讲qC码的设计Q不具体讲述操作ҎQ下面就是表单的HTML代码设计要点Q?br>
1.1 表单标签QformQ</formQ?/font>
功能Q?/strong>用于x表单Q定义采集数据的范围Q也是QformQ和Q?formQ里面包含的数据被提交到服务器或者电子邮仉?br>
语法Q?/strong>QFORM ACTION="URL" METHOD="GET|POST" ENCTYPE="MIME" TARGET="..."Q? . .Q?FORMQ?
属性解?/strong>见下表:
action=url
指定一来处理提交表单的格式.它可以是一个URL地址(提交l程?或一个电子邮件地址.
method=get或post
指明提交表单的HTTPҎ.可能的gؓQ?
enctype=cdata
指明用来把表单提交给服务器时(当methodgؓ"post")的互联网媒体形式.q个Ҏ的~省值是"application/x-www-form-urlencoded"
TARGET="..."
指定提交的结果文档显C的位置Q?
例如Q?/strong>
Qform action="http://www.yesky.com/test.asp" method="post" target="_blank"Q?..Q?formQ?/span>
表示表单向http://www.yesky.com/test.asp以post的方式提交,提交的结果在新的面昄Q数据提交的媒体方式是默认的application/x-www-form-urlencoded方式Q?
1.2 表单?/strong>
表单域包含了文本框、多行文本框、密码框、隐藏域、复选框、单选框和下拉选择框等Q用于采集用L输入或选择的数据,下面分别讲述q些表单域的代码格式Q?
1.2.1 文本?/strong>
文本框是一U让讉K者自p入内容的表单对象Q通常被用来填写单个字或者简短的回答Q如姓名、地址{?
代码格式Q<input type="text" name="..." size="..." maxlength="..." value="..."Q?br>
属性解释:
type="text"定义单行文本输入框;
name属性定义文本框的名Uͼ要保证数据的准确采集Q必d义一个独一无二的名Uͼ
size属性定义文本框的宽度,单位是单个字W宽度;
maxlength属性定义最多输入的字符数?
value属性定义文本框的初始?br>
样例1Q?/strong>
样例1代码Q?/p>
1.2.2 多行文本?/strong>
也是一U让讉K者自p入内容的表单对象Q只不过能让讉K者填写较长的内容?br> 代码格式Q<TEXTAREA name="..." cols="..." rows="..." wrap="VIRTUAL"Q</TEXTAREAQ?br> 属性解释:
name属性定义多行文本框的名Uͼ要保证数据的准确采集Q必d义一个独一无二的名Uͼ
cols属性定义多行文本框的宽度,单位是单个字W宽度;
rows属性定义多行文本框的高度,单位是单个字W宽度;
wrap属性定义输入内容大于文本域时显C的方式Q可选值如下:
样例2Q?/strong>
是一U特D的文本域,用于输入密码。当讉K者输入文字时Q文字会被星h其它W号代替Q而输入的文字会被隐藏?br>
代码格式Q<input type="password" name="..." size="..." maxlength="..."Q?br>
属性解释:
type="password"定义密码框;
name属性定义密码框的名Uͼ要保证数据的准确采集Q必d义一个独一无二的名Uͼ
size属性定义密码框的宽度,单位是单个字W宽度;
maxlength属性定义最多输入的字符数?
样例3Q?/strong>
样例3代码Q?/p>
1.2.4 隐藏?/strong>
隐藏域是用来攉或发送信息的不可见元素,对于|页的访问者来_隐藏域是看不见的。当表单被提交时Q隐藏域׃信息用你设|时定义的名U和值发送到服务器上?
代码格式Q<input type="hidden" name="..." value="..."Q?br>
属性解释:
type="hidden"定义隐藏域;
name属性定义隐藏域的名Uͼ要保证数据的准确采集Q必d义一个独一无二的名Uͼ
value属性定义隐藏域的?br> 例如Q<input type="hidden" name="ExPws" value="dd"Q?br>
1.2.5 复选框
复选框允许在待选项中选中一以上的选项。每个复选框都是一个独立的元素Q都必须有一个唯一的名U?br>
代码格式Q<INPUT type="checkbox" name="..." value="..."Q?br>
属性解释:
type="checkbox"定义复选框Q?br> name属性定义复选框的名Uͼ要保证数据的准确采集Q必d义一个独一无二的名Uͼ
value属性定义复选框的?br>
样例4Q?/strong> yesky.com Chinabyte.com
样例4代码Q?
Qinput type="checkbox" name="yesky" value="09"Qyesky.com
Qinput type="checkbox" name="Chinabyte" value="08"QChinabyte.com
1.2.6 单选框
当需要访问者在待选项中选择唯一的答案时Q就需要用到单选框了?br>
代码格式Q<input type="radio" name="..." value="..."Q?br>
属性解释:
type="radio"定义单选框Q?br> name属性定义单选框的名Uͼ要保证数据的准确采集Q单选框都是以组为单位用的Q在同一l中的单选项都必ȝ同一个名Uͼ
value属性定义单选框的|在同一l中Q它们的域值必L不同的?br>
样例5Q?/strong> yesky.com Chinabyte.com
样例5代码Q?
Qinput type="radio" name="myFavor" value="1"Qyesky.com
Qinput type="radio" name="myFavor" value="2"QChinabyte.com
1.2.7 文g上传?/strong>
有时候,需要用户上传自q文gQ文件上传框看上d其它文本域差不多Q只是它q包含了一个浏览按钮。访问者可以通过输入需要上传的文g的\径或者点L览按钮选择需要上传的文g?
注意Q在使用文g域以前,请先定你的服务器是否允许匿名上传文件。表单标{中必须讄ENCTYPE="multipart/form-data"来确保文件被正确~码Q另外,表单的传送方式必设|成POST?br>
代码格式Q<input type="file" name="..." size="15" maxlength="100"Q?br>
属性解释:
type="file"定义文g上传框;
name属性定义文件上传框的名Uͼ要保证数据的准确采集Q必d义一个独一无二的名Uͼ
size属性定义文件上传框的宽度,单位是单个字W宽度;
maxlength属性定义最多输入的字符数?
样例6Q?/strong>
样例6代码Q?/p>
1.2.8 下拉选择?br>
下拉选择框允怽在一个有限的I间讄多种选项?br>
代码格式Q?br> Qselect name="..." size="..." multipleQ?br> Qoption value="..." selectedQ?..Q?optionQ?br> ...
Q?selectQ?br>
属性解释:
size属性定义下拉选择框的行数Q?br> name属性定义下拉选择框的名称Q?br> multiple属性表C可以多选,如果不设|本属性,那么只能单选;
value属性定义选择的|
selected属性表C默认已l选择本选项?br>
样例7Q?
样例7代码Q?
Qselect name="mySel" size="1"Q?br> Qoption value="1" selectedQyesky.comQ?optionQ?br> Qoption value="d2"Qchinabyte.comQ?optionQ?br> Q?selectQ?br>
样例8Q?/strong>
按Ctrl可以多?br>
样例8代码Q?
Qselect name="mySelt" size="3" multipleQ?br> Qoption value="1" selectedQyesky.comQ?optionQ?br> Qoption value="d2"Qchinabyte.comQ?optionQ?br> Qoption value="3"Qinternet.comQ?optionQ?br> Q?selectQ?br>
1.3 表单按钮
表单按钮控制表单的运作?br>
1.3.1 提交按钮
提交按钮用来输入的信息提交到服务器?br>
代码格式Q<input type="submit" name="..." value="..."Q?br>
属性解释:
type="submit"定义提交按钮Q?br> name属性定义提交按钮的名称Q?br> value属性定义按钮的昄文字Q?br>
样例9Q?/strong>
样例9代码Q?/p>
复位按钮用来重置表单?br>
代码格式Q<input type="reset" name="..." value="..."Q?br>
属性解释:
type="reset"定义复位按钮Q?br> name属性定义复位按钮的名称Q?br> value属性定义按钮的昄文字Q?br>
样例10Q?/strong>
一般按钮用来控制其他定义了处理脚本的处理工作?br>
代码格式Q<input type="button" name="..." value="..." onClick="..."Q?br>
属性解释:
type="button"定义一般按钮;
name属性定义一般按钮的名称Q?br> value属性定义按钮的昄文字Q?br> onClick属性,也可以是其它的事Ӟ通过指定脚本函数来定义按钮的行ؓQ?br>
样例11Q?/strong>
很多时候,我们仅仅Z实现数据采集q个功能来用表单,常看到的表单都是“千h一?#8221;、毫无生气,本专题尝试着来改变这一现象Q试图赋予表单一个丰富多彩的面貌?br>表单的外观,也是最为直接的花样Q可以通过改变它来实现ҎQ本文分两个出发Ҏ讲述QCSS法和图像魔法?br>
1、CSS法
CSSQ就是大家知道的层叠样式单,它可以定义页面元素的外观Q包括字体样式、背景颜色和囑փ样式、边框样式、补白样式、边界样式等{,下面׃q几个方面出发,讨论怎样CSS应用到表单中Q彻底美化它Q?br>
1.1 字体样式的应?/strong>
字体样式包括Q字体族U?font-family)、字体风?font-style)、字体变?font-variant)、字体加_?font-weight)、字体大?font-size)、字?font)Q具体的定义ҎQ在q里不详l讲qͼ可以参考它的资料?br> 也许你已l注意到Q按钮上的文字不漂亮Q其实可以通过CSS字体样式来解冻I同样圎ͼ其它的几个涉及到文字的表单项Q例如,文本框、多行文本框、口令框、下拉选择框都可以应用字体样式?br> Z充分展示q些应用Q下例特别设计了几种样式Q在实际应用中,不必q么凌ؕQ灵z运用:
样例12Q?/strong>表单元素的字体样式展C?
分析Q?/strong>
Qinput type="text" name="formExam" size="10" maxlength="10" style="font-family:宋体; font-size: 12px; font-weight: bold" value="加粗"Q?
Qselect name="select" size="1" style="font-family:Verdana,Arial; font-size: 9pt; color: #FF0000"Q?br>Qoption value="2" selectedQyesky.comQ?optionQ?br>Qoption value="1"Qredidea.netQ?optionQ?br>Q?selectQ?
QTEXTAREA name="formExam2" cols="30" rows="3" style="font-family:Verdana, Arial; font-size: 9pt; color: #000099; text-decoration: underline" align=rightQunderline css styleQ?TEXTAREAQ?
Qinput type="submit" name="Submit" value="发?" style="font-family:宋体; font-size: 9pt;"Q?
结Q只要我们对字体的样式熟悉了Q就可以灉|多变Q不一定要在标{N面用style来定义,完全可以在<headQ里定义Q或者外部引用CSS文gQ用到的时候引用一下就能达到预期的效果?
1.2 背景颜色和图像样式的应用
有很多时候,|页׃颜色的搭配,不得不对表单的背景颜色和囑փ样式q行设计Q背景颜色利用background-color属性,背景囑փ利用background-image属性,颜色和图像同栯够得到意想不到的效果?br>
样例13Q?/strong> 表单元素的背景展C?
分析Q?
Qinput type="text" name="RedFld" size="10" maxlength="10" style="color: #FFFFFF; background-color: #000000"Q?
Qinput type="checkbox" name="checkbox" value="checkbox" style="background-color: #FF0000"Q?br>Qinput type="radio" name="radiobutton" value="radiobutton" style="background-color: #FF0000"Q?
Qselect name="select2" size="1"Q?br>Qoption selected style="background-color: #FF0000"Qyesky.comQ?optionQ?br>Qoption style="background-color: #0000CC"Qredidea.comQ?optionQ?br>Qoption style="background-color: #009900"Qchinabyte.comQ?optionQ?br>Qoption style="background-color: #ff33cc"Qsina.comQ?optionQ?br>Qoption style="background-color: #999999"Qsohu.comQ?optionQ?br>Q?selectQ?font color=#ff0000>
结Q?/strong>用好background-color属性和background-image属性,可以设计很?#8220;?#8221;表单了?/span>
1.3 Ҏ样式的应?/strong>
也许你觉得表单的Ҏq于LQ我们能否设计单U条Q或者其它的Ҏ样式呢?当然可以Q?br>
和边框有关的属性有Q边框式样border-style、上Ҏborder-top、右Ҏborder-right、下Ҏborder-bottom、左Ҏborder-left、边框颜色border-colr、边框宽?border-width、上Ҏ宽度border-top-width、右Ҏ宽度border-right-width、下Ҏ宽度border-bottom-width、左Ҏ宽度border-left-width、边?borderQ这里不作详l的讲述Q请参考有兌料?br>
样例14Q?/strong> 8U边框Ş式的展示
分析Q?/strong>
Ҏ宽度的设|有一个规律:
border-width: [ thin | medium | thick | Q长度> ]{1,4}
Ҏ宽度用一到四个值来讄元素的边框宽度,它们分别被应用于上、右、下和左Ҏ宽度。如果只l出一个|它被应用于所有边框宽度。如果两个或三个值给ZQ省略了的g对边相等
例如Q<input type="text" name="RedF" style="border-color: #006600; border-style: dotted; border-width: 1px"Q?br>Ҏ颜色的设|有一个规律:
border-colr: Q颜Ԍ{1,4}
Ҏ颜色用一到四个值来讄元素的边框颜艌Ӏ如果四个值都l出了,它们分别被应用于上、右、下和左Ҏ颜色。如果只l出一个|它被应用于所有边框颜艌Ӏ如果两个或三个值给ZQ省略了的g对边相等?
样例15Q?/strong>Ҏ的特D设计展C?br>
聪明的读者一定会惛_Q如果设计单ҎQ一定更加漂亮,对!下面我们来尝试以下部分边框的讄效果Q本例仅仅以Solid和dotted两种cd的边框作演示Q其它类型的Ҏ原理相同Q?
注意Q?/strong>Ҏcd的外观如下:
2、图像魔?br>
囑փQ是|页的重要元素,能否应用到表单中呢?接下来,我们用图像来攚w死板的表单Q分两个部分来探讨:用图像代替按钮、用背景囄化表单元素?br>
2.1 用图像代替按?/strong>
׃默认的表单按钮太丑陋Q绝大多数的|站采用了图像按钮,那么Q我们通过两个实例来看看怎样实现的:
样例16Q用囑փ代替提交按钮Q?br>
当只有一个提交按钮的时候,可以单地实现Q不用加事g函数Q代码是Q?br>Qinput type="image" name="..." src="url" width="" height="..." border="..."Q?br>
除了标签改ؓinput type="image"以外Q其它的属性和QimgQ标{属性是一LQ例如:
是不是只要用囄可以代替所有的按钮呢?是的Q不q,不是上面q么单了Q必d上事件函敎ͼ不然的话Q图片都是提交按钮,不能完成复位{功能,看看下面的例子就知道了:
样例17Q用囄代替所有的表单按钮Q?
注意Q?/strong>
Qinput type="image" name="..." src="..." onClick="document.formName.submit()"Q?/font>
<a href="javascript:document.formName.reset();">Qimg border=0 src="..."Q?lt;/a>
注:q里的formName是表单的name属性倹{?
其实Q前面已l提到过Q用background-image:url()属性来定义表单元素的背景图Q这里仅举一例,可以看到Q除了select没有效果以外Q其它的都可以配合网늚背景来设|它们?br>
样例18Q背景图的设|?
2Q表单的分支提交
有的时候,表单需要根据用L选择Q提交到不同的程序,怎么做呢Q?br> 通过脚本来检用L选择分支Q从而向不同的程序提交表单,看看样例Q?br>
样例20Q?/strong>分支提交
------------------------------------------------------------------
四、表单的常用技?br>
q些常用技巧,往往是和事g以及脚本联系在一P本文注重功能Q至于脚本,׃一一详细分析。常见的技巧有Q下拉蟩转菜单,表单内容的聚焦?br>
1Q下拉蟩转菜?/strong>
在Dreamweaver中,可以很方便地建立Z表单的下拉菜单,Z兼顾非Dreamweaver用户Q这里讲qC下这U技巧?br>
样例22Q基于表单的下拉跌{菜单
主题Q?/td>
内容Q?/td>
分析Q?/strong>看看我们的表单<formQ标{ְ知道了,格式如下Q?br>Qform name="..." action="mailto:xxxxx@xxx.xxx?Subject=表单反馈" enctype="text/plain" method="post"Q?..Q?formQ?
q里的mailto:后面加上要接受信息的地址Q?Subject是设|默认的Email标题Qenctype="text/plain"是必要的Q表CZ息以文本方式提交Q没有Q何加密,所以这U方法常用于没有Asp/Php/cgi支持的空_也只是一个代用的ҎQ用户必d装OutlookQƈ且是默认的邮件程序,才能利执行提交Q据说TheBat!也可以,大家可以试验一下?/span>