javascript - 多步验证
问题描述
我正在使用此处找到的表单的修改版本。如果当前选项卡的信息不正确,我只是希望表单不进行。我也修改了下一个按钮(更改了要提交的类型,它仍然会处理表单并调用我的验证消息。我希望用户被锁定到没有正确输入内容的选项卡。)
<input type="submit" name="next" class="next action-button" value="Next" />
任何指导将不胜感激。
解决方案
您尚未指定表单上的字段类型。假设有像文本框,复选框等常规的,你可以做的是
- 加载时,禁用“下一步”按钮。
- 将验证器函数绑定到需要验证的字段的更改事件。
- 验证器功能应检查选项卡所需的所有条件,如果都满足,则启用“下一步”按钮。否则,请禁用该按钮。
示例:JSFiddle
HTML:
<form id="input-form">
<input type="text" id="name">
<input type="number" id="employee-id">
<input type="submit" name="Next" id="next-button" disabled>
</form>
JS(使用 jQuery):
function validate() {
if (validateName() && validateId()) {
$('#next-button').removeAttr('disabled');
} else {
$('#next-button').attr('disabled', 'disabled');
}
}
function validateName() {
let name = $('#name').val();
return name !== '' && !(/\d/.test(name));
}
function validateId() {
let id = $('#employee-id').val()
return id !== '' && !(/[a-z]/.test(id.toLowerCase()));
}
$('form > input').keyup(validate);
推荐阅读
- python-3.x - 在python中编写循环函数的正确方法
- flutter - 为什么我的 _onCameraMove 下的函数运行得这么差?
- python - 使用 Python 3 中的 Requests 模块发布请求未显示正确内容
- python - 一个类的 __init__ 在另一个类中做了什么?
- python - 在 Python 中返回(副本)具有给定 id 的二维列表行的最有效(最快)方法是什么?
- testing - 如何跳过 Robot Framework 中的一些可选参数?
- mysql - MYSQL 查询基于另一个表获取 SUM
- javascript - 在 HTML 中显示凭据的安全隐患
- google-bigquery - 计划查询停止写入 BigQuery 中的表
- ionic-framework - 将组件中的数据同步回 ionic 5 中的调用页面