HTML5的表单(form)介绍
的表单(form)介绍
HTML 表单(form) 在⽹页中主要负责数据采集功能,利⽤表单可以实现与⽤户的交互,⽐如收集浏览者的信息或实现搜索等功能。
表单(form)标签格式:
<form 表单标签的属性>
表单元素
</form>
【与标签(也叫标记)有关的特性称为属性,每个属性总是对应⼀个属性值,将其称为“属性/值”对,⼀个标签可以有多个属性,由英⽂逗号分隔。】
表单标签的属性
除了通⽤属性 id 、 style 、 class 外,还有:
action:规定当提交表单时,向何处发送表单数据。action取值为:第⼀,⼀个URL(绝对URL/相对URL),⼀般指向服务器端⼀个程序,程序接收到表单提交过来的数据(即表单元素值)作相应处理。⽐如<form action="wwwblogs/reg.ashx">,当⽤户提交这个表单时,服务器将执⾏⽹址"wwwblogs/"上的名为"reg.ashx"的⼀般处理程序。第⼆,使⽤mailto协议的URL地址,这样会将表单内容以电⼦邮件的形式发送出去。这种情况⽐较少见的,因为它要求访问者的计算机上安装和正确设置好了邮件发送程序。第三,空值,如果action为空或不写,表⽰提交给当前页⾯。
method:该属性定义浏览器将表单中的数据提交给服务器处理程序的⽅式。关于method的取值,最常⽤的是get和post,如
method="post"。第⼀,使⽤get⽅式提交表单数据,Web浏览器会将各表单字段元素及其数据按照URL参数格式附在<form>标签的action属性所指定的URL地址后⾯发送给Web服务器;由于URL的长度限制,使⽤get⽅式传送的数据量⼀般限制在1KB以下。第⼆,使⽤post⽅式,浏览器会将表单数据作为HTTP请求体的⼀部分发送给服务器。⼀般来说,使⽤post⽅式传送的数据量要⽐get⽅式传递的数据量⼤;根据HTML标准,如果处理表单的服务器程序不会改变服务器上存储的数据,则应采⽤get⽅式(⽐如查询),如果表单处理的结果会引起服务器上存储的数据的变化,则应该采⽤post⽅式(⽐如增删改操作)。第三,其它⽅式(Head、PUT、DELETE、TRACE 或OPTIONS等)。其实,最初HTTP标准对各种操作都规定了相应的method,但后来很多都没有被遵守,⼤部分情况只是使⽤g
et或post就OK。关于更多的各种method⽅式的区别,由于我⽬前对HTTP协议了解的不多,不敢妄下结论。很多园友的讨论也好像不是很深⼊,⼤家争论⽐较多。
target:该属性规定在何处显⽰action属性中指定的URL所返回的结果。取值有_blank(在新窗⼝中打开)、_self(在相同的框架中打开,默认值)、_parent(在⽗框架中打开)、_top(在整个窗⼝中打开)和framename(在指定的框架中打开)。
title:设置⽹站访问者的⿏标放在表单上的任意位置停留时,浏览器⽤⼩浮标显⽰的⽂本。
enctype:规定在发送到服务器之前应该如何对表单数据进⾏编码。取值:默认值为 "application/x-www-form-urlencoded",在发送到服务器之前,所有字符都会进⾏编码(空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值);“multipart/form-data”:不对字符编码。在使⽤包含⽂件上传控件的表单时,必须使⽤该值。
name:表单的名称。注意和id属性的区别:name属性是和服务器通信时使⽤的名称;⽽id属性是浏览器端使⽤的名称,该属性主要是为了⽅便客户端编程,⽽在css和javascript中使⽤的。
表单元素
Input标签定义输⼊控件。语法:
<input  type="input元素类型" name="input元素名称" value="textinput元素的值" />
Input标签属
说明
指定元素的类型。text(⽂本框)、password(密码框)、
checkbox(复选框)、radio(单选按钮)、submit(提交按
type checkbox(复选框)、radio(单选按钮)、submit(提交按钮)、reset(重置按钮)、file(⽂件上传)、hidden(隐藏域)、image(图像形式的提交按钮) 和 button(按钮),还有:email(电⼦邮箱)、url(⽹址)、number(数字输⼊框,带微调按钮)、range(滑动条)、date(选取⽇期)、time(选取时间)、datetime(选取⽇期时间)
name指定表单元素的名称
value元素的初始值。type 为 radio时必须指定⼀个值
size 指定表单元素的初始宽度。当 type 为 text 或 password时,表单元素的⼤⼩以字符为单位。对于其他类型,宽度以像素为单位
maxlength type为text 或 password 时,输⼊的最⼤字符数
checked type为radio或checkbox时,指定按钮是否是被选中
select(列表框)
<select> 标签下拉列表
其中的 <option> 标签⽤于定义列表中的可⽤选项。例如:
<select name="contry">
<option value="none">--选择国家--</option>
<option value="usa">美国</option>
<option value="en">英国</option>
<option value="cn" selected="selected">中国</option>
</select>
textarea(多⾏⽂本域)
<textarea> 标签定义多⾏的⽂本输⼊。可以通过 cols 和 rows 属性来规定 textarea 的列数——宽度(字符数)和⾏数,不过更好的办法是使⽤ CSS 的 height 和 width 属性。
例1、下⾯给出⼀个简单的表单⽰例:
4<meta charset="UTF-8">
5<title>表单⽰例</title>
6</head>
7<body>
8<from>
9输⼊名称:<input type="text" name="user" value=""/><br/>
10输⼊密码:<input type="password" name="passwd" value=""/>
11<br>
12选择性别:<input type="radio" name="sex" vlaue="nan"/> 男  <input type="radio" name="sex" value="nv" checked="checked"/> ⼥13<br>
14选择技术:
15<input type="checkbox" name="tech" value="java"/>Java
16<input type="checkbox" name="tech" value="html"/>html
17<input type="checkbox" name="tech" value="css"/>CSS
18<br>
19选择⽂件:
20<input type="file" name="file" />
21<br>
22⼀个按钮:<input type="button" value="有个按钮" onclick="alert('有个按钮')">
23<br>
24<select name="contry">
25  <option value="none">--选择国家--</option>
26  <option value="usa">美国</option>
27  <option value="en">英国</option>
28  <option value="cn" selected="selected">中国</option>
29</select>
30<br>
31<textarea name="text">可以是多⾏⽂本</textarea>
32<from>
33</body>
34</html>
保存⽂件名为:表单例1.html
运⾏效果如下图:
例2、结合CSS和JavaScript的表单⽰例
4        <meta charset="UTF-8">
5        <title>简单学⽣信息管理</title>
6
7        <!-- 样式 -->
8        <style>
9            table {
10                margin: auto;
11                width: 80%;
12                background-color: #d9ffdc;
13                /* 表格背景⾊ */
14                text-align: center;
15                border-collapse: collapse;
16            }
17            caption {
18                font-size: 28px;
19                line-height: 50px;
20                color: blue;
21            }
22            th {
23                background-color: #00a40c;
24                /* 表头背景⾊ */
25                color: #FFF;
26                /* 表头⽂字颜⾊ */
27
28            }
29            th,td {
30                border: 1px solid #00a40c; padding: 6px;
31            }
32            .btn {
33                color: #FFFFFF;
34                font-size: 16px;
35                font-weight: bold;
36                width: 90px;
37                height: 36px;
38                border-radius: 6px;
39                background-color: forestgreen;
40            }
41                body {
42                text-align: center;
43            }
44            #add {
45                /*width:270px ;
46              height: 290px;*/
47                display: none;
48                position: absolute;
49                border: 1px solid darkgreen;
50                padding:5px 20px 20px 15px;
51                border-radius: 6px;
52                background-color: #d9ffdc;
53                text-align: right;
54            }
55            h3 {
56                text-align: left;
57            }
58          #close{
59                float: right;
60                color: lightcoral;
61            }
62            .text {
63                padding: 0 10px;
64                color: #777777;
65                font-weight: bold;
65                font-weight: bold;
66                margin: 6px;
67                height: 30px;
68        }
69        </style>
70
71    </head>
72    <body>
73        <table id="cj">
74            <caption> 简单学⽣信息表</caption>
html中提交表单用什么属性75            <tr>
76                <th>学号</th>
77                <th>姓名 </th>
78                <th>性别</th>
79                <th>住址</th>
80                <th>删除</th>
81            </tr>
82
83        </table>
84        <input type="button" value="增加" id="addInfo" class="btn" />
85      <!--动态添加表单 -->
86      <div id="add">
87      <h3> 添加信息 <span title="关闭" id="close">Χ</span></h3>
88      <form name="addForm">
89学号:<input name="id" class="text" /><br>
90姓名:<input name="user" class="text" /><br>
91性别:<input name="Gender" class="text" /><br>
92住址:<input name="address" class="text" /><br>
93            <input type="button" value="确定" id="qd" class="btn" />
94            <input type="reset" value="重置" class="btn" />
95        </form>
96        </div>
97<!-- JS -->
98<script>
99      var tab = ElementById('cj');
100      //设置表格奇数⾏和偶数⾏背景颜⾊
101      function strRow() {
102              var len = ws.length;
103              for(var i = 0; i < len; i++)
104                    if(i % 2)
105                        ws[i].style.backgroundColor = "lightgreen"
106                    else
107                        ws[i].style.backgroundColor = "#d9ffdc";
108      }
109      strRow();
110        //删除指定⾏
111      function del(r) {
112              var i = r.wIndex;
113              ElementById('cj').deleteRow(i);
114              strRow();
115        }
116        var btQd = ElementById("qd");//通过id属性获取“确定”按钮。
117        var add = ElementById("add");//通过id属性获取“增加信息”对话框。118        var btAdd = ElementById("addInfo");//通过id属性获取“增加”按钮。119        lick = function() {
120                insRow();
121                add.style.display = "none";
122        }
123        lick = function() {
124                add.style.display = "block";
125                show();
126        }
127        //不显⽰(隐藏)动态添加表单
128        ElementById("close").onclick = function() {
129                add.style.display = "none";
130        }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。