Skip to content

London | May-2025| Hadi Vahidi | Form-controls #698

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 86 additions & 25 deletions Form-Controls/index.html
Original file line number Diff line number Diff line change
@@ -1,27 +1,88 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>My form exercise</title>
<meta name="description" content="" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<header>
<h1>Product Pick</h1>
</header>
<main>
<form>
<!-- write your html here-->
<!--
try writing out the requirements first as comments
this will also help you fill in your PR message later-->
</form>
</main>
<footer>
<!-- change to your name-->
<h2>By HOMEWORK SOLUTION</h2>
</footer>
</body>
</html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>T-Shirt Order Form</title>
<style>
.form-group {
margin-bottom: 15px;
}
.radio-option {
display: flex;
align-items: center;
padding: 10px 0;
}
.radio-option input[type="radio"] {
width: 20px;
height: 20px;
margin-right: 8px;
}
select {
padding: 8px;
font-size: 16px;
}
button {
padding: 12px 24px;
font-size: 16px;
}
</style>
Comment on lines +7 to +29
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spec says "No CSS", can you remove them?

You can use the line break element to create vertical space between input elements.

</head>
<body>
<h1>T-Shirt Order Form</h1>

<form id="tshirt-order">
<fieldset>
<legend>Customer Information</legend>

<div class="form-group">
<label for="name">Full Name (min 2 characters):</label>
<input type="text" id="name" name="name" required minlength="2">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently a user can enter a name consisting of only space characters (e.g., " "). Can you enforce a stricter validation rule using the pattern attribute to disallow any name that contains only space characters?

</div>

<div class="form-group">
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
</div>
</fieldset>

<fieldset>
<legend>T-Shirt Color</legend>

<div class="radio-option">
<input type="radio" id="color-red" name="color" value="red" required>
<label for="color-red">Red</label>
</div>

<div class="radio-option">
<input type="radio" id="color-blue" name="color" value="blue">
<label for="color-blue">Blue</label>
</div>

<div class="radio-option">
<input type="radio" id="color-green" name="color" value="green">
<label for="color-green">Green</label>
</div>
</fieldset>

<fieldset>
<legend>T-Shirt Size</legend>

<div class="form-group">
<label for="size">Select Size:</label>
<select id="size" name="size" required>
<option value="" disabled selected>Select a size</option>
<option value="XS">XS</option>
<option value="S">S</option>
<option value="M">M</option>
<option value="L">L</option>
<option value="XL">XL</option>
<option value="XXL">XXL</option>
</select>
</div>
</fieldset>

<button type="submit">Place Order</button>
</form>
</body>
</html>