usernameTip.textContent = '用户名不能为空'; usernameTip.classList.add('error');
时间: 2024-02-29 08:57:29 浏览: 38
这是另外一段 JavaScript 代码,它的作用是将一个元素的文本内容设置为“用户名不能为空”,并且给该元素添加一个名为“error”的 CSS 类。通常情况下,这段代码会用在表单验证的过程中,以提醒用户输入用户名时不要留空,并且通过添加 CSS 类来改变该元素的样式,使其更加醒目。可以通过 CSS 样式来定义“error”类的样式,例如将文本颜色设置为红色,或者给该元素添加一个红色的边框等等。
相关问题
实现表单中有用户名,密码,确认密码,及注册按钮; 1. 输入用户名, 失去焦点后, 如果用户名已存在则在右侧span标签提示红色的"用户名已存在"(假设用户名为"zs"为已存在) 2. 如果点击用户名后, 没有输入,继续输入密码,则在右侧提示红色的"用户名不能为空" 3. 如果输入非"zs", js中校验正确,则失去焦点后,右侧提示绿色的"恭喜可用"
好的,以下是一个简单的实现示例(仅供参考):
HTML 代码:
```html
<form>
<div>
<label for="username">用户名:</label>
<input type="text" id="username" name="username">
<span id="username-tip" class="tip"></span>
</div>
<div>
<label for="password">密码:</label>
<input type="password" id="password" name="password">
<span id="password-tip" class="tip"></span>
</div>
<div>
<label for="confirm-password">确认密码:</label>
<input type="password" id="confirm-password" name="confirmPassword">
<span id="confirm-password-tip" class="tip"></span>
</div>
<button type="submit">注册</button>
</form>
```
CSS 代码:
```css
.tip {
display: inline-block;
margin-left: 10px;
font-size: 12px;
}
.tip.error {
color: red;
}
.tip.success {
color: green;
}
```
JavaScript 代码:
```javascript
// 获取表单元素
const form = document.querySelector('form');
const usernameInput = form.querySelector('#username');
const passwordInput = form.querySelector('#password');
const confirmPasswordInput = form.querySelector('#confirm-password');
// 添加事件监听器
usernameInput.addEventListener('blur', checkUsername);
form.addEventListener('submit', handleSubmit);
// 校验用户名
function checkUsername() {
const username = usernameInput.value.trim();
const usernameTip = document.querySelector('#username-tip');
if (username === '') {
usernameTip.textContent = '用户名不能为空';
usernameTip.classList.add('error');
} else if (username === 'zs') {
usernameTip.textContent = '用户名已存在';
usernameTip.classList.add('error');
} else {
usernameTip.textContent = '恭喜可用';
usernameTip.classList.remove('error');
usernameTip.classList.add('success');
}
}
// 处理表单提交
function handleSubmit(event) {
event.preventDefault();
// 获取用户名、密码和确认密码
const username = usernameInput.value.trim();
const password = passwordInput.value.trim();
const confirmPassword = confirmPasswordInput.value.trim();
// 校验用户名
const usernameTip = document.querySelector('#username-tip');
if (username === '') {
usernameTip.textContent = '用户名不能为空';
usernameTip.classList.add('error');
return;
} else if (username === 'zs') {
usernameTip.textContent = '用户名已存在';
usernameTip.classList.add('error');
return;
} else {
usernameTip.textContent = '恭喜可用';
usernameTip.classList.remove('error');
usernameTip.classList.add('success');
}
// 校验密码和确认密码
const passwordTip = document.querySelector('#password-tip');
const confirmPasswordTip = document.querySelector('#confirm-password-tip');
if (password === '') {
passwordTip.textContent = '密码不能为空';
passwordTip.classList.add('error');
return;
} else {
passwordTip.textContent = '';
passwordTip.classList.remove('error');
}
if (confirmPassword === '') {
confirmPasswordTip.textContent = '确认密码不能为空';
confirmPasswordTip.classList.add('error');
return;
} else if (confirmPassword !== password) {
confirmPasswordTip.textContent = '两次输入的密码不一致';
confirmPasswordTip.classList.add('error');
return;
} else {
confirmPasswordTip.textContent = '';
confirmPasswordTip.classList.remove('error');
}
// 如果校验通过,则提交表单
console.log('提交表单:', { username, password });
}
```
该示例实现的功能:
1. 当输入用户名后,失去焦点时,如果用户名为 "zs",则提示“用户名已存在”,字体颜色为红色;
2. 当点击用户名输入框后,没有输入内容,继续输入密码时,则提示“用户名不能为空”,字体颜色为红色;
3. 当输入非 "zs" 的用户名时,失去焦点后,提示“恭喜可用”,字体颜色为绿色;
4. 当提交表单时,校验用户名、密码和确认密码是否符合要求,如果不符合要求,则在相应的提示标签中显示错误信息,阻止表单提交。
注意:该示例仅实现了部分功能,实际应用中还需要进行更全面的校验和防范 XSS 攻击等安全问题。
创建一个有用户名,密码,确认密码,及注册按钮的表单,输入用户名后如果用户名已存在则在右侧span标签提示红色的"用户名已存在"(假设用户名为"zs"为已存在) ;如果点击用户名后, 没有输入,继续输入密码,则在右侧提示红色的"用户名不能为空" ;如果输入非"zs", js中校验正确,则失去焦点后,右侧提示绿色的"恭喜可用"
好的,以下是针对你的要求实现的代码示例:
```
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>表单验证示例</title>
<style>
form {
display: flex;
flex-direction: column;
align-items: center;
}
input {
margin: 10px 0;
padding: 5px;
}
span {
margin-left: 10px;
font-weight: bold;
}
.error {
color: red;
}
.success {
color: green;
}
</style>
</head>
<body>
<form>
<label for="username">用户名:</label>
<input type="text" id="username" name="username">
<span id="username-msg"></span>
<label for="password">密码:</label>
<input type="password" id="password" name="password">
<label for="confirm-password">确认密码:</label>
<input type="password" id="confirm-password" name="confirm-password">
<button type="submit">注册</button>
</form>
<script>
// 获取表单元素
const form = document.querySelector('form');
const usernameInput = document.querySelector('#username');
const passwordInput = document.querySelector('#password');
const confirmPasswordInput = document.querySelector('#confirm-password');
const usernameMsg = document.querySelector('#username-msg');
// 定义已存在的用户名
const existingUsername = 'zs';
// 验证用户名是否可用
function validateUsername() {
const username = usernameInput.value.trim();
if (username === '') {
// 用户名为空
usernameMsg.textContent = '用户名不能为空';
usernameMsg.classList.add('error');
} else if (username === existingUsername) {
// 用户名已存在
usernameMsg.textContent = '用户名已存在';
usernameMsg.classList.add('error');
} else {
// 用户名可用
usernameMsg.textContent = '恭喜可用';
usernameMsg.classList.add('success');
}
}
// 监听用户名输入框的失去焦点事件
usernameInput.addEventListener('blur', validateUsername);
// 监听表单的提交事件
form.addEventListener('submit', function(event) {
event.preventDefault(); // 阻止表单提交
// 验证密码是否一致
const password = passwordInput.value.trim();
const confirmPassword = confirmPasswordInput.value.trim();
if (password !== confirmPassword) {
alert('密码不一致,请重新输入!');
passwordInput.value = '';
confirmPasswordInput.value = '';
passwordInput.focus();
return;
}
// 提交表单
alert('注册成功!');
});
</script>
</body>
</html>
```
如果你在输入用户名时输入的是 "zs",则右侧会提示红色的 "用户名已存在"。如果你输入的是空字符串,则右侧会提示红色的 "用户名不能为空"。如果你输入的是除 "zs" 以外的其他用户名,则右侧会提示绿色的 "恭喜可用"。当你提交表单时,如果密码不一致,则会弹出提示框提示你重新输入。否则,会弹出提示框提示你注册成功。
阅读全文