freeCodeCamp/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-html-forms-by-buildin.../62ff919a7b5612c0670923a5.md

132 lines
3.9 KiB
Markdown
Raw Normal View History

---
id: 62ff919a7b5612c0670923a5
title: Passo 37
challengeType: 0
dashedName: step-37
---
# --description--
Vincule os elementos de formulário aplicáveis e os elementos `label`.
Use `profile-picture`, `age`, `referrer` e `bio` como valores para os respectivos atributos `id`.
# --hints--
O primeiro elemento `input` deve ter o `id` `profile-picture`.
```js
assert(document.querySelectorAll('fieldset:nth-of-type(3) input')?.[0]?.matches('#profile-picture'))
```
O segundo elemento `input` deve ter o `id` `age`.
```js
assert(document.querySelectorAll('fieldset:nth-of-type(3) input')?.[1]?.matches('#age'))
```
O elemento `select` deve ter o `id` `referrer`.
```js
assert(document.querySelector('fieldset:nth-of-type(3) select')?.matches('#referrer'))
```
O elemento `textarea` deve ter o `id` `bio`.
```js
assert(document.querySelector('fieldset:nth-of-type(3) textarea')?.matches('#bio'))
```
O primeiro elemento `label` deve ter o atributo `for` com o valor `profile-picture`.
```js
assert(document.querySelectorAll('fieldset:nth-of-type(3) label')?.[0]?.matches('label[for="profile-picture"]'))
```
O segundo elemento `label` deve ter o atributo `for` com o valor `age`.
```js
assert(document.querySelectorAll('fieldset:nth-of-type(3) label')?.[1]?.matches('label[for="age"]'))
```
O terceiro elemento `label` deve ter o atributo `for` com o valor `referrer`.
```js
assert(document.querySelectorAll('fieldset:nth-of-type(3) label')?.[2]?.matches('label[for="referrer"]'))
```
O quarto elemento `label` deve ter o atributo `for` com o valor `bio`.
```js
assert(document.querySelectorAll('fieldset:nth-of-type(3) label')?.[3]?.matches('label[for="bio"]'))
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Registration Form</title>
<link rel="stylesheet" href="styles.css" />
</head>
<body>
<h1>Registration Form</h1>
<p>Please fill out this form with the required information</p>
<form action='https://register-demo.freecodecamp.org'>
<fieldset>
<label for="first-name">Enter Your First Name: <input id="first-name" type="text" required /></label>
<label for="last-name">Enter Your Last Name: <input id="last-name" type="text" required /></label>
<label for="email">Enter Your Email: <input id="email" type="email" required /></label>
<label for="new-password">Create a New Password: <input id="new-password" type="password" pattern="[a-z0-5]{8,}" required /></label>
</fieldset>
<fieldset>
<label for="personal-account"><input id="personal-account" type="radio" name="account-type" /> Personal Account</label>
<label for="business-account"><input id="business-account" type="radio" name="account-type" /> Business Account</label>
<label for="terms-and-conditions">
<input id="terms-and-conditions" type="checkbox" required /> I accept the <a href="https://www.freecodecamp.org/news/terms-of-service/">terms and conditions</a>
</label>
</fieldset>
--fcc-editable-region--
<fieldset>
<label>Upload a profile picture: <input type="file" /></label>
<label>Input your age (years): <input type="number" min="13" max="120" /></label>
<label>How did you hear about us?
<select>
<option value="">(select one)</option>
<option value="1">freeCodeCamp News</option>
<option value="2">freeCodeCamp YouTube Channel</option>
<option value="3">freeCodeCamp Forum</option>
<option value="4">Other</option>
</select>
</label>
<label>Provide a bio:
<textarea></textarea>
</label>
</fieldset>
--fcc-editable-region--
<input type="submit" value="Submit" />
</form>
</body>
</html>
```
```css
body {
width: 100%;
height: 100vh;
margin: 0;
background-color: #1b1b32;
color: #f5f6f7;
}
label {
display: block;
margin: 0.5rem 0;
}
```