
本文将介绍如何使用 jQuery 实时监控输入框的长度,并根据输入长度是否满足特定条件(例如,必须为 10 位数字)来动态启用或禁用提交按钮。我们将提供详细的代码示例,并解释关键步骤,帮助你轻松实现此功能。
我们的目标是创建一个表单,其中包含一个电话号码输入框和一个提交按钮。要求如下:
首先,我们需要创建基本的 HTML 结构。以下是一个使用 Bootstrap 样式的简单表单示例:
<div class="form-group">
<label for="phoneNumber">Phone Number</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">+ 91</span>
</div>
<input type="number" class="form-control" id="phoneNumber" name="phone_number" maxlength="10" required>
</div>
</div>
<input type="submit" name="submit" disabled id="submitButton" value="Submit" class="btn btn-primary mr-2">在这个结构中:
接下来,我们使用 jQuery 来实现实时验证和按钮状态切换的逻辑。
$(document).ready(function() {
$('#phoneNumber').on('input', function() {
var inputValue = $(this).val();
var submitButton = $('#submitButton');
// 使用正则表达式检查是否为纯数字
if (!/^\d+$/.test(inputValue)) {
// 如果不是纯数字,则移除最后一个字符
$(this).val(inputValue.slice(0, -1));
return; // 阻止后续执行
}
if (inputValue.length === 10) {
submitButton.prop('disabled', false); // 启用按钮
} else {
submitButton.prop('disabled', true); // 禁用按钮
}
});
});这段代码做了以下几件事:
将 HTML 和 jQuery 代码结合起来,得到完整的示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Input Validation</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.2/dist/css/bootstrap.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
<div class="container mt-5">
<form>
<div class="form-group">
<label for="phoneNumber">Phone Number</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">+ 91</span>
</div>
<input type="number" class="form-control" id="phoneNumber" name="phone_number" maxlength="10" required>
</div>
</div>
<input type="submit" name="submit" disabled id="submitButton" value="Submit" class="btn btn-primary mr-2">
</form>
</div>
<script>
$(document).ready(function() {
$('#phoneNumber').on('input', function() {
var inputValue = $(this).val();
var submitButton = $('#submitButton');
// 使用正则表达式检查是否为纯数字
if (!/^\d+$/.test(inputValue)) {
// 如果不是纯数字,则移除最后一个字符
$(this).val(inputValue.slice(0, -1));
return; // 阻止后续执行
}
if (inputValue.length === 10) {
submitButton.prop('disabled', false); // 启用按钮
} else {
submitButton.prop('disabled', true); // 禁用按钮
}
});
});
</script>
</body>
</html>通过使用 jQuery 监听输入框的 input 事件,我们可以轻松实现实时验证输入长度并动态控制按钮状态的功能。这种方法不仅简单易懂,而且能够提供良好的用户体验。可以根据实际需求修改代码,例如添加更复杂的验证规则或使用不同的 UI 框架。
以上就是使用 jQuery 验证输入框长度并启用/禁用按钮的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号