HTML 中的表单和按钮

HTML 中的表单和按钮

用户交互

到目前为止,在本课程中你已经了解到用户与网页交互的几种方式:

链接可用于导航到同一页面或不同页面的不同内容部分。

然而,这些功能通常更偏向于单向交互,让用户被动地消费内容。虽然这没问题,但 Web 是一种双向体验。网站用户会根据自己的喜好调整内容和服务的使用方式。他们可能会叫车、申请回电、提交反馈、进行投诉、网购商品并送货到家。

要实现这种双向交互体验,你需要使用按钮和表单。

按钮通常是通过 HTML 的

呈现出来的效果如下:

如果你立刻点击“订阅新闻简报”按钮,会看见一个验证错误,因为没有填写任何数据。如果你填写了姓名和邮箱地址后再点击该按钮,则会看到一个 404 错误页面。

我们稍后会解释原因。在此之前,请将上面的 HTML 代码复制到你的代码编辑器新建的 HTML 文件中,然后在新的浏览器标签页打开它。

元素

正如前面提到的, 元素作为表单的外层容器,用于将所有的表单控件组织到一起。当点击

呈现的效果如下:

我们建议你现在将这段代码复制到你的代码编辑器中保存为 HTML 文件,并在浏览器中打开。接下来的几个小节中,我们会逐一讲解这个表单中使用的各种控件类型。

在继续之前,请在你的本地副本中试用不同的表单控件并选择一些值。尝试提交表单,看看提交后在 URL 中显示的数据是什么样子的。

单选按钮

“选择酒店房型”按钮是通过 控件实现的。这些控件会渲染为一组按钮控件,每次只能选择其中一个——你不能同时选中多个。它们的名字来源于老式收音机上的按钮:按下一个按钮,之前选中的按钮就会弹出。

我们的示例代码如下:

html

选择酒店房型:

type="radio"

id="hotelChoice1"

name="hotel"

value="economy"

checked />

type="radio"

id="hotelChoice3"

name="hotel"

value="penthouse"

disabled />

radio 输入控件的工作方式大致和 text 输入控件相同,但也有几点不同:

每组单选按钮的 name 属性值必须相同,以便将它们关联成一组。如果 name 属性值不同,它们会被视为不同的组,提交时也会有发送不同的值。

每个单选按钮必须包含一个 value 属性,用于指定提交时该按钮对应的值。提交的数据会是一个名值对,其中名称(即 name)始终相同,例如 hotel=economy 或 hotel=superior。

每个单选按钮的

元素包裹这些选项,并用其子元素 来提供整体描述。

备注:

除了用于结构化和标记表单外,fieldset 还有其他用途,例如可用于一次性禁用整组控件。

还值得注意的是,我们为第一个单选按钮添加了 checked 属性——这会让它在页面初次加载时默认被选中。这意味着总会有一个选项被选中,并且你无法取消选中一个单选按钮,除非选择另一个。

试着将第一个单选按钮中的 checked 属性移除,保存,然后刷新页面,观察其效果。在继续学习之前记得把它加回来。

禁用表单控件

在单选按钮的示例中,你会注意到第三个单选按钮设置了 disabled 属性。这会导致该控件显示为灰色且无法被选中。这在很多情况下都非常有用,比如某个选项通常是可用的,但目前暂时不可用。例如,某个产品可能已经售罄,或者像我们示例中那样,顶层套房全部预订完毕!

你可以在任何表单控件上设置 disabled 属性,包括

相关文章

鼬之死是哪一集?为何会死?

鼬之死是哪一集?为何会死?

为什么拔河游戏好玩呢

为什么拔河游戏好玩呢

亿万僵尸Steam多少钱 亿万僵尸售价一览

亿万僵尸Steam多少钱 亿万僵尸售价一览