Skip to content

每日一题:健身大调查

作者:江月迟迟
发表于:2024-12-10
字数统计:602 字
预计阅读3分钟

介绍

表单提交是前端必备的技能之一,下面让我们用学过的表单知识,来完成一个健身调查的问卷。

准备

开始答题前,需要先打开本题的项目代码文件夹,目录结构如下:

text
├── css
│   └── style.css
├── index.html
└── js
    └── index.js

其中:

  • index.css 为样式文件。
  • index.html 为主页面。
  • index.js 需要补充的 js 文件。

注意:打开环境后发现缺少项目代码,请手动键入下述命令进行下载:

bash
wget https://labfile.oss.aliyuncs.com/courses/10591/03.zip&&unzip  03.zip&&rm 03.zip

在浏览器中预览 index.html 页面效果如下:

初始效果

目标

完成 js/index.js 中的 formSubmit 函数,用户填写表单信息后,点击蓝色提交按钮,表单项隐藏,页面显示用户提交的表单信息(在 idresult 的元素显示)。信息格式如下:“身高 172cm,体重 60kg,性别男,会在健身房、公园锻炼”。 注意:检测时会模拟表单填写过程,请不要为 idresult 的元素赋固定值。

完成效果

规定

  • 请严格按照考试步骤操作,切勿修改考试默认提供项目中的文件名称、文件夹路径等。
  • 请勿修改项目中提供的 idclass、函数名等名称,以免造成无法判题通过。

判分标准

  • 本题完全实现题目目标得满分,否则得 0 分。

总通过次数: 233 | 总提交次数: 248 | 通过率: 94%

难度: 中等 标签: 蓝桥杯真题, 2022, 省赛, Web 前端

题解

js
function formSubmit() {
  // TODO:待补充代码
  const height = document.getElementById('height').value
  const weight = document.getElementById('weight').value
  const gender = document.getElementById('male').checked ? '男' : '女'
  const places = []
  const checkboxes = document.getElementsByName('place')
  checkboxes.forEach(item => {
    if (item.checked) {
      switch (item.value) {
        case '1':
          places.push('公园')
          break;
        case '2':
          places.push('健身房')
          break;
        case '3':
          places.push('户外')
          break;
        default:
          break;
      }
    }
  })
  document.getElementById('quescontent').style.display = 'none'
  document.getElementById('result').innerHTML = `
  问卷提交完毕,感谢您的参与!
  <br>
  身高 ${height}cm,体重 ${weight}kg,性别${gender},会在${places}锻炼
  `
  document.getElementById('result').style.display = 'block'
}