JavaScript表单:选择元素

了解在需要选择选项的网页上表示数据时派上用场的元素。

复选框

        使用标签 <input type="checkbox"> 向HTML 表单添加复选框。

下面代码向用户提供了是否接收确认电子邮件的选择。

HTML 代码:

<html>
 <head>
 </head>
 <body>
	<input type="checkbox" name="confirmation" id="confirmation">
	<label for="confirmation">Send me a confirmation email</label> </body>
</html>

显示效果:

         每当用户选中或取消选中该框时,就会启动一个 change 事件。与此事件相关联的 Event 对象有一个 checked 布尔属性。该属性给出了字段的新状态(checked 或者 not checked)。

        下面的代码处理复选框上的 change 事件,以在控制台显示一条消息。

// Show if the email confirmation checkbox is checked
document.getElementById("confirmation").addEventListener("change", e => {
  console.log(`Email confirmation request: ${e.target.checked}`);
});

显示结果:

 单选按钮(Radio-Buttons)

       单选按钮允许用户从多个选项中做出选择。通过 <input type="radio">标签创建单选按钮,它们具有相同的 name 属性和不同的 value 属性。

        下面是代码节选,该表单允许用户在三个单选按钮之间进行选择,每个按钮代表一个订阅选项。

<html>
 <head>
 </head>
 <body>
	<input type="radio" name="subscription" id="newsroom" value="newspromo">
	<label for="newsroom">Subscribe me to newsletters and promotions</label>
	<br>
	<input type="radio" name="subscription" id="news" value="news">
	<label for="news">Subscribe me only to the newsletter</label>
	<br>
	<input type="radio" name="subscription" id="no" value="no" checked>
	<label for="no">No subscriptions</label>
	<br>
 </body>
</html>

显示效果:

         当用户的选择改变时,下面的 JavaScript 代码将向控制台添加一条消息。

// Show the subscription type selected via radio button
const subscriptionElements = Array.from(document.getElementsByName("subscription"));
subscriptionElements.forEach(element => {
  element.addEventListener("change", e => {
    console.log(`Selected subscription: ${e.target.value}`);
  });
});

显示效果:

        更改事件的 target.value 属性与新选择 的<input> 标记的 value 属性相匹配。

下拉列表

        使用 <select> 标签创建一个下拉列表,利用 <option> 标签添加可能的选项。

        下面的代码可以在下拉列表中选择国籍。

<html>
 <head>
 </head>
 <body>
   
	<label for="nationality">Nationality</label>:
	<select name="nationality" id="nationality">
  <option value="US" selected>American</option>
  <option value="FR">French</option>
  <option value="ES">Spanish</option>
  <option value="XX">Other</option>
</select>
  
 </body>
</html>

显示效果:

         下面的代码使用下拉列表上触发的 change 事件来显示用户的选择。

// Show the selected nationality
document.getElementById("nationality").addEventListener("change", e => {
  console.log("Nationality code: " + e.target.value);
});

显示效果:

         和单选按钮一样,change 事件的 target.value 属性与新选项关联的 <option> 标签的 value 属性相匹配——而不是下拉列表中显示的文本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值