怎么禁用button和禁止修改文本框
时间: 2023-06-23 10:09:01 浏览: 104
禁用button可以通过设置button的disabled属性来实现,例如:
```html
<button disabled>禁用按钮</button>
```
禁止修改文本框可以通过设置文本框的readonly属性来实现,例如:
```html
<input type="text" readonly value="不能修改的文本">
```
如果要动态禁用或启用button和文本框,可以使用JavaScript来实现,例如:
```javascript
// 禁用button
document.querySelector('button').disabled = true;
// 禁止修改文本框
document.querySelector('input[type="text"]').readOnly = true;
```
当然,禁止修改文本框也可以通过设置文本框的disabled属性来实现,但这样会导致文本框的颜色变灰,无法输入文本。因此,一般情况下我们更推荐使用readonly属性来禁止修改文本框。
相关问题
网页编程使用jQuery: 1.两个上下输入框 ,一个验证按钮 1.输入框获得焦点时改变输入框背景色(颜色自定义),失去焦点后恢复原颜色。 2.密码由数字和大小写字母中至少二种组成,长度为6至10位,密码输入后以“*”号显示, 输入完成后输入框失去焦点时,用正则表达式进行判断密码形式是否满足要求,输入有误时在输入框后面显示输入密码类型或长度错误。 3.从二个文本框中输入密码一致时,用文本警告框提示验证通过,否则提示不通过; 4.验证三次密码不一致时,验证按钮禁用3分钟,3分钟之后解除禁止。
好的,这是一个关于网页编程使用 jQuery 的问题,需要实现以下功能:
1. 两个上下输入框,一个验证按钮。
2. 输入框获得焦点时改变输入框背景色,失去焦点后恢复原颜色。
3. 密码由数字和大小写字母中至少二种组成,长度为6至10位,密码输入后以“*”号显示,输入完成后输入框失去焦点时,用正则表达式进行判断密码形式是否满足要求,输入有误时在输入框后面显示输入密码类型或长度错误。
4. 从二个文本框中输入密码一致时,用文本警告框提示验证通过,否则提示不通过。
5. 验证三次密码不一致时,验证按钮禁用3分钟,3分钟之后解除禁止。
下面是一个简单的实现步骤:
1. HTML结构:
```html
<div class="form-group">
<label for="password1">密码</label>
<input type="password" class="form-control" id="password1" placeholder="请输入密码">
</div>
<div class="form-group">
<label for="password2">确认密码</label>
<input type="password" class="form-control" id="password2" placeholder="请再次输入密码">
</div>
<button type="button" class="btn btn-primary" id="verify-btn">验证</button>
```
2. jQuery代码:
```javascript
$(document).ready(function() {
var password1 = $('#password1');
var password2 = $('#password2');
var verifyBtn = $('#verify-btn');
var count = 0;
// 输入框获得焦点时改变输入框背景色,失去焦点后恢复原颜色。
password1.focus(function() {
$(this).css('background-color', '#F5F5F5');
}).blur(function() {
$(this).css('background-color', '#FFF');
});
password2.focus(function() {
$(this).css('background-color', '#F5F5F5');
}).blur(function() {
$(this).css('background-color', '#FFF');
});
// 密码输入完成后输入框失去焦点时,用正则表达式进行判断密码形式是否满足要求
password1.on('input', function() {
var password = $(this).val();
if (password.length < 6 || password.length > 10) {
$(this).next().text('密码长度应为6至10位');
return;
}
if (!/[0-9]/.test(password) || !/[a-zA-Z]/.test(password)) {
$(this).next().text('密码应包含数字和大小写字母中至少两种');
return;
}
$(this).next().text('');
});
// 确认密码输入完成后输入框失去焦点时,判断两次密码是否一致
password2.on('input', function() {
var password1Val = password1.val();
var password2Val = $(this).val();
if (password1Val !== password2Val) {
$(this).next().text('两次输入的密码不一致');
return;
}
$(this).next().text('');
});
// 验证按钮点击事件
verifyBtn.click(function() {
var password1Val = password1.val();
var password2Val = password2.val();
// 判断两次密码是否一致
if (password1Val !== password2Val) {
alert('两次输入的密码不一致');
count++;
// 验证三次密码不一致时,验证按钮禁用3分钟
if (count >= 3) {
verifyBtn.attr('disabled', true);
setTimeout(function() {
verifyBtn.attr('disabled', false);
count = 0;
}, 3 * 60 * 1000);
}
return;
}
alert('验证通过');
});
});
```
3. CSS样式:
```css
.form-control:focus {
border-color: #66afe9;
outline: 0;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102,175,233,.6);
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102,175,233,.6);
}
```
以上是一个简单的实现,具体的实现方式可以根据需要进行修改和完善。
(一)验证二次输入密码一致。要求: (本题15分) 1、输入框获得焦点时改变输入框背景色(颜色自定义),失去焦点后恢复原颜色。 2、密码由数字和大小写字母中至少二种组成,长度为6至10位,密码输入后以“*”号显示,输入完成后输入框失去焦点时,用正则表达式进行判断密码形式是否满足要求,输入有误时在输入框后面显示输入密码类型或长度错误。 3、从二个文本框中输入密码一致时,用警告框提示验证通过,否则提示不通过; 4、验证三次密码不一致时,验证按钮禁用3分钟,3分钟之后解除禁止。 5、使用jQuery完成本题。
很抱歉,我刚才的回答有误,没有考虑到密码格式验证的情况。以下是修改后的代码实现:
HTML 代码:
```
<label for="password">密码:</label>
<input type="password" id="password" placeholder="请输入密码" autocomplete="off">
<label for="confirmPassword">确认密码:</label>
<input type="password" id="confirmPassword" placeholder="请再次输入密码" autocomplete="off">
<button id="submitBtn">验证</button>
<div id="errorTip"></div>
```
CSS 代码:
```
input:focus {
background-color: #f5f5f5;
}
```
jQuery 代码:
```
$(function() {
var password = $("#password"),
confirmPassword = $("#confirmPassword"),
submitBtn = $("#submitBtn"),
errorTip = $("#errorTip"),
errorTimer = null,
errorCount = 0;
// 验证密码格式是否正确
function validatePasswordFormat(value) {
var reg = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[\s\S]{6,10}$/;
return reg.test(value);
}
// 验证密码是否一致
function validatePasswordMatch() {
if (password.val() === confirmPassword.val()) {
return true;
} else {
return false;
}
}
// 显示错误提示
function showErrorTip(msg) {
errorTip.text(msg).show();
if (errorTimer) {
clearTimeout(errorTimer);
}
errorTimer = setTimeout(function() {
errorTip.hide();
}, 3000);
}
// 监听密码输入框的焦点事件
password.on("focus", function() {
$(this).css("background-color", "#f5f5f5");
}).on("blur", function() {
$(this).css("background-color", "#fff");
if (!validatePasswordFormat($(this).val())) {
showErrorTip("密码格式不正确");
}
});
// 监听确认密码输入框的焦点事件
confirmPassword.on("focus", function() {
$(this).css("background-color", "#f5f5f5");
}).on("blur", function() {
$(this).css("background-color", "#fff");
if (!validatePasswordFormat($(this).val())) {
showErrorTip("确认密码格式不正确");
} else if (!validatePasswordMatch()) {
showErrorTip("两次输入的密码不一致");
}
});
// 监听验证按钮的点击事件
submitBtn.on("click", function() {
if (validatePasswordMatch()) {
alert("验证通过");
} else {
errorCount++;
if (errorCount >= 3) {
showErrorTip("验证失败,3分钟后再试");
submitBtn.attr("disabled", "disabled");
setTimeout(function() {
submitBtn.removeAttr("disabled");
errorCount = 0;
}, 180000);
} else {
showErrorTip("验证失败");
}
}
});
});
```
以上代码实现了二次输入密码一致的验证,具体实现方法请参考注释。
阅读全文