用HTML写一个满足以下条件的代码:1.是一个表格,包含内容有充值的手机号码,三个金额的选项,相应金额的折后价2.当未输入号码时,网页显示未输入手机号码3.当输入手机号码不是11位时,网页显示输入有误,
时间: 2024-03-14 10:50:11 浏览: 52
js验证输入是否为手机号码或电话号码示例
请看以下代码,满足您所描述的条件:
```html
<!DOCTYPE html>
<html>
<head>
<title>充值</title>
</head>
<body>
<h1>充值页面</h1>
<form>
<label for="phone">手机号码:</label>
<input type="tel" id="phone" name="phone" minlength="11" maxlength="11" required><br><br>
<label for="amount">选择充值金额:</label>
<select id="amount" name="amount">
<option value="50">50元</option>
<option value="100">100元</option>
<option value="200">200元</option>
</select><br><br>
<label for="discount">折后价:</label>
<input type="text" id="discount" name="discount" readonly><br><br>
<input type="submit" value="提交">
</form>
<script>
let phoneInput = document.getElementById("phone");
let discountInput = document.getElementById("discount");
phoneInput.addEventListener("input", function() {
if (phoneInput.value.length !== 11) {
discountInput.value = "输入有误";
} else {
discountInput.value = ""; // 清空提示信息
}
});
document.querySelector("form").addEventListener("submit", function(event) {
event.preventDefault(); // 阻止表单默认提交
if (phoneInput.checkValidity()) {
// 计算折后价
let amountInput = document.getElementById("amount");
let discount = amountInput.value * 0.9;
discountInput.value = discount + "元";
} else {
discountInput.value = "未输入手机号码";
}
});
</script>
</body>
</html>
```
解析:
1. 使用 `<form>` 元素创建表单,包含手机号码输入框、金额选择框和折后价显示框,以及提交按钮。
2. 在手机号码输入框添加 `minlength="11" maxlength="11" required` 属性,限制输入长度为 11,并且不能为空。
3. 在脚本中,使用 `addEventListener()` 方法监听手机号码输入框的 `input` 事件,当输入内容不是 11 位时,在折后价显示框中提示“输入有误”。
4. 在脚本中,使用 `addEventListener()` 方法监听表单的 `submit` 事件,当手机号码输入框的值合法时,计算出折后价,并在折后价显示框中显示;否则,在折后价显示框中提示“未输入手机号码”。同时,使用 `event.preventDefault()` 方法阻止表单默认提交。
阅读全文