跳转到内容

超文本标记语言/表单

来自维基教科书,开放的书籍,开放的世界

HTML 表单是收集最终用户数据的简便方法。处理它们需要使用 服务器端脚本语言 或(在某些情况下,当需要在单个页面内提供有限的交互时)使用客户端脚本语言,例如 JavaScript

这是一个简单的表单

<form id="" action="" method="post">
 <fieldset>
  <legend>Personal details</legend>

  <label for="first">First name</label>
  <input type="text" name="first" id="first"><br />

  <label for="family">Family name</label>
  <input type="text" name="family" id="family"><br />

  <input type="submit" name="personal">

 </fieldset>
</form>

以下是解释 -

id
表单或控件的名称。
action
可以处理数据的服务器端脚本的 URL。
method
用于发送信息的方法。支持两种方法:POST 和 GET。POST 是首选方法,除了通常使用 GET 的简单搜索之外。与服务器端语言一起使用。
fieldset
表单控件通常包含在 fieldset 元素中。复杂的表单可能有多个 fieldset。Fieldset 可以包含其他 fieldset。
legend
每个 fieldset 从一个 legend 元素开始。元素的内容用作放置在 fieldset 边框中的标题。
label for=""
一个 label for 是单个表单控件。的 valuefor属性必须与id同一表单中表单控件的属性匹配。
input type="" name ="" id=""
各种类型的输入控件。支持的类型包括:submit、text、password、checkbox、radio、reset、file、hidden、image 和 button。的name属性由服务器用来识别表单中给定框中输入了哪些数据。的id属性用于将输入与标签匹配。的nameid属性对于文本输入通常具有相同的值,但对于复选框和单选按钮输入则具有不同的值。
select
还存在用于下拉列表的 SELECT 元素和用于多行文本输入的 TEXTAREA 元素。

这个简单的示例使用 <br /> 标签在不同的控件之间强制换行。实际的表单将使用更结构化的标记来整齐地布局控件。

使用 CSS 进行格式化

[编辑 | 编辑源代码]

此表单的 HTML 非常简单,您不必创建数百个 div 并将它们全部左对齐和右对齐;这会导致很多沮丧和很多调试,因为各种浏览器仍然以不同的方式解释 CSS 代码。

<form>

	<label for="name">Name</label>
	<input id="name" name="name"><br />

	<label for="address">Address</label>
	<input id="address" name="address">

</form>

此代码的 CSS 更有趣一些

label,input {
	float: left;
	width: 150px;
	display: block;
	margin-bottom: 10px;
}

label {
	width: 75px;
	text-align: right;
	padding-right: 20px;
}

br {
	clear: left;
}

让我们解释一下代码

label,input {
	float: left;
	width: 150px;
	display: block;
	margin-bottom: 10px;
}

标签的 CSS 包含四个部分

  1. float: float 命令用于确定标签是否浮动到表单的左侧。
  2. width: 这定义了标签的大小,保持所有标签的宽度固定,使所有内容保持在整齐的顺序行中。
  3. display: 元素将显示为块级元素,在元素之前和之后有一个换行符。
  4. margin-bottom: 通过在标签底部添加边距,可以确保标签以整齐的方式一个接一个地排列,并且标签之间有适当的填充。
label {
	width: 75px;
	text-align: right;
	padding-right: 20px;
}
  1. width: 这再次是为了定义固定的宽度,使所有内容保持一致的整齐外观。
  2. Text-align: 将文本右对齐,使所有内容远离左对齐的标签,再次使所有内容保持一致。
  3. Padding-right: 这表示在右侧有一个适当的填充,再次使所有内容保持精致的调整。
br {
	clear: left;
}
  1. clear: 这是最重要的部分,如果没有 clear:left,则没有任何内容能够正确对齐,这实际上会使每个元素序列中的所有内容彼此对齐,并向左对齐。

有关更多详细信息,请参阅本书的 超文本标记语言/标签列表/表单 部分。

[编辑 | 编辑源代码]
华夏公益教科书