javascript - 通过使用 jquery 进行表单验证来禁用和启用按钮
问题描述
我有一个div
包含必需元素的
<div id="test">
<input type="text" required/>
...
</div>
<input type="button" name="previous"
class="previous action-button-previous" value="Previous" /> <input
type="button" name="next" class="next action-button"
value="Next" />
...
我想Next
通过表单验证启用或禁用按钮(如果所有必填字段都可以)
我用过这个方法
<script>
function validateForm() {
var searchEles = document.getElementById('test')
.getElementsByTagName('input');
var searchEles2 = document.getElementById('test')
.getElementsByTagName('select');
for (var i = 0; i < searchEles.length; i++) {
if (searchEles[i].getAttribute("required") != null) {
alert("il est required "); //He is required
} else {
alert("il est n'est pas required "); //He is not
}
}
for (var i = 0; i < searchEles2.length; i++) {
if (searchEles2[i].getAttribute("required") != null) {
alert("il est required ");
} else {
alert("il est n'est pas required ");
}
}
}
</script>
是否可以将其用作禁用功能?!?
解决方案
有很多方法。
1)本质上一个简单的策略是:
- 禁用下一个按钮以开始
- 利用更改功能从您的表单中捕获更改事件,并运行您的验证器功能。如果有效 => 启用您的下一个按钮
PS:如果你没有加载 jquery,你总是可以使用 vanilla JS 来捕获事件。你真的不需要 jQuery。
2) jQuery 验证插件
它正是为此目的的解决方案,并且由于您有 jquery 标记,因此您可以考虑一个选项。你可以试试这个SO post一个简单的实现
推荐阅读
- forms - Laravel 集体自定义表单,动作 Controller@update 未定义
- c# - SQL Server(本地数据库)的连接字符串
- appium - com.google.common.collect.Maps$TransformedEntriesMap 无法转换为 org.openqa.selenium.WebElement
- r - 在 R 中,如何只保留与类别列聚合的一个数值列的最大值相对应的 data.frame 行?
- ruby-on-rails - Rails:等待显示模态的时间太长
- excel - 使用 For Each 循环以编程方式生成形状并添加宏
- amazon-web-services - AWS ALB 截断 HTTP 响应
- android - 项目底部导航视图的裁剪标题
- angular - 如何以角度 5 显示自定义下拉菜单
- python-3.x - 如何将 conda 环境转移到离线计算机