當今的網站設計越來越多地使用了動態交互效果,而表單驗證則是其中不可或缺的一個環節。本文將介紹如何使用HTML5和CSS制作一個簡單的輸入郵箱號碼提交訂閱表單,并添加表單驗證功能。
創建一個HTML文件
我們需要創建一個HTML文件,在文件中加入基本的HTML結構和表單元素。代碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>訂閱郵件</title>
</head>
<body>
<h1>輸入您的郵箱地址,訂閱我們的最新資訊!</h1>
<form>
<label for="email">郵箱:</label>
<input type="email" id="email" name="email" required>
<button type="submit">提交</button>
</form>
</body>
</html>
在這個代碼片段中,我們使用了<form>標簽來創建一個表單,里面包含一個用于輸入郵箱的<input>元素和一個用于提交的<button>元素。
注意:我們在<input>元素中使用了type="email"屬性,這是HTML5新增的一種類型,可以對郵箱格式進行基本的驗證。同時,我們也使用了required屬性,告訴瀏覽器這個字段必須填寫才能提交表單。
添加樣式
我們為表單添加一些基本的樣式,讓它看起來更加美觀。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>訂閱郵件</title>
<style>
h1 {
text-align: center;
font-size: 24px;
}
form {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
margin-top: 50px;
}
label {
font-size: 16px;
margin-right: 10px;
}
input[type="email"] {
padding: 5px;
border-radius: 5px;
border: 1px solid #ccc;
width: 300px;
margin-bottom: 10px;
}
button[type="submit"] {
background-color: #007bff;
color: #fff;
padding: 5px 20px;
border-radius: 5px;
border: none;
cursor: pointer;
}
button[type="submit"]:hover {
background-color: #0069d9;
}
</style>
</head>
<body>
<h1>輸入您的郵箱地址,訂閱我們的最新資訊!</h1>
<form>
<label for="email">郵箱:</label>
<input type="email" id="email" name="email" required>
<button type="submit">提交</button>
</form>
</body>
</html>
在這段代碼中,我們使用了CSS對頁面進行了一些簡單的布局和樣式美化。其中使用了display: flex和flex-direction: column來將表單元素垂直排列;使用了margin來增加頁面間距,以及為<button>元素設置了一些基本的樣式。
添加表單驗證
上面我們使用了HTML5的type="email"屬性來進行郵箱格式的基本驗證。但是,這種驗證只能在前端進行,無法完全保證數據的準確性。我們還需要在后臺進行一些額外的驗證,以保證用戶輸入的數據是有效的。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>訂閱郵件</title>
<style>
h1 {
text-align: center;
font-size: 24px;
}
form {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
margin-top: 50px;
}
label {
font-size: 16px;
margin-right: 10px;
}
input[type="email"] {
padding: 5px;
border-radius: 5px;
border: 1px solid #ccc;
width: 300px;
margin-bottom: 10px;
}
button[type="submit"] {
background-color: #007bff;
color: #fff;
padding: 5px 20px;
border-radius: 5px;
border: none;
cursor: pointer;
}
button[type="submit"]:hover {
background-color: #0069d9;
}
.error-message {
color: red;
font-size: 14px;
margin-top: 5px;
}
</style>
</head>
<body>
<h1>輸入您的郵箱地址,訂閱我們的最新資訊!</h1>
<form>
<label for="email">郵箱:</label>
<input type="email" id="email" name="email" required>
<button type="submit" id="submit-btn">提交</button>
<div id="error-message-container"></div>
</form>
<script>
const emailInput = document.getElementById('email');
const submitBtn = document.getElementById('submit-btn');
const errorMessageContainer = document.getElementById('error-message-container');
submitBtn.addEventListener('click', (event) => {
// 阻止表單默認的提交行為
event.preventDefault();
// 獲取輸入的郵箱地址
const emailValue = emailInput.value.trim();
// 正則表達式驗證郵箱格式
const emailRegEx = /\S+@\S+\.\S+/;
const isValidEmail = emailRegEx.test(emailValue);
if (!isValidEmail) {
// 如果郵箱格式不正確,顯示錯誤提示信息
errorMessageContainer.innerHTML = '請輸入有效的郵箱地址';
} else {
// 否則清空錯誤提示信息,提交表單
errorMessageContainer.innerHTML = '';
document.forms[0].submit();
}
});
</script>
</body>
</html>
在上面的代碼中,我們使用了JavaScript來添加表單驗證功能。我們先獲取了表單元素和相關的DOM節點,給提交按鈕添加了一個點擊事件的監聽器。當用戶點擊提交按鈕時,會執行回調函數進行驗證。
在驗證函數中,我們使用正則表達式對用戶輸入的郵箱地址進行了基本的格式驗證。如果格式不正確,則在頁面上顯示錯誤提示信息;否則清空錯誤提示信息并提交表單。
通過以上步驟,我們成功地制作了一個簡單的輸入郵箱號碼提交訂閱表單,并添加了表單驗證功能。當然,這只是一個基本的范例,實際應用中可能需要更加復雜的驗證方式。但是,通過這個例子,我們可以初步了解HTML5和CSS如何配合JavaScript來創建交互式網站。