javascript - AJAX:禁用提交按钮,直到用户名字段充满电子邮件
问题描述
我的登录页面有三件事:
- 用户名字段
- 密码字段
- 提交按钮
如果用户名字段不为空,此代码将禁用提交按钮。
我想禁用提交按钮,直到用户名字段充满电子邮件。
此外,在用户名字段中写入内容并将其清除后,提交按钮不会自行禁用。我希望提交按钮在清除用户名字段后自行禁用。
$(':input[type="submit"]').prop('disabled', true);
$('input[type="email"]').keyup(function() {
if($(this).val() != '<!-- not sure what to put here -->') {
$(':input[type="submit"]').prop('disabled', false);
}
});
解决方案
一个纯 js 解决方案是:
document.querySelector("input[type=email]").onkeyup = function(){
let reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
(this.value.length==0 || reg.test(this.value)==false)?document.querySelector("input[type=submit]").setAttribute("disabled","disabled"):document.querySelector("input[type=submit]").removeAttribute("disabled")
}
<form>
<input type="email">
<input type="password">
<input type="submit" disabled>
</form>
每当释放一个键时,它都会检查输入值的长度或输入模式。如果长度为零或模式不匹配,则将禁用属性设置为禁用。如果没有,它会完全删除禁用的属性。
推荐阅读
- python - Python:通过 SMTP 发送 html 格式的电子邮件
- python - 如何仅向graphene-django中的用户个人资料所有者显示特定字段?
- python - 如果在另一个列表 python 中不存在,则按日期计数用户
- android - 为什么我的 android studio 无休止地多次索引?
- python - Pandas - 添加一列以在分组后唯一标识每个组
- c# - 'ERROR_DESTINATION_NOT_REACHABLE:' 尝试部署到 Google Cloud Platform 时出错
- docker - CoreOS 中的 Ceph RBD
- simd - 使用 AVX-512 模拟 64 字节的移位
- graphql - 如何删除具有关系的项目?
- c++ - “请尝试使用 CMake 和 VS19 启用每用户重定向”