javascript - 如果输入字段为空,则禁用发送按钮
问题描述
我想实现一个检查功能,检查输入字段是否为空 - 如果为空,则应禁用发送按钮。我使用了 addEventListener 方法。
当我调试它时,else 语句正在触发,但它返回 true,我不知道为什么。
这是代码:
//all the form fields saved as variables
const form = document.getElementById("form");
const name = document.getElementById("name");
const email = document.getElementById("email");
const text = document.getElementById("text");
const button = document.getElementById("button");
form.addEventListener("change", buttoActivationCheck());
//custom functions
function buttoActivationCheck() {
const nameValueForButton = name.value.trim();
const textValueForButton = text.value.trim();
const emailValueForButton = email.value.trim();
if (nameValueForButton === "") {
button.disabled = true;
}
if (emailValueForButton === "") {
button.disabled = true;
}
if (textValueForButton === "") {
button.disabled = true;
}
else {
button.disabled = false;
}
}
解决方案
可能你根本不需要else
。
function buttoActivationCheck() {
const nameValueForButton = name.value.trim();
const textValueForButton = text.value.trim();
const emailValueForButton = email.value.trim();
button.disabled = false;
if (nameValueForButton === "" ||
emailValueForButton === "" ||
textValueForButton === "") button.disabled = true;
}
要不就:
function buttoActivationCheck() {
button.disabled = !Boolean(name.value.trim() && text.value.trim() && email.value.trim());
}
如果每个值都为真,则按钮为假。
推荐阅读
- mariadb - 在日期范围内或基于另一列的值强制唯一性
- python - 在字符''''(位置 1)没有可行的替代方案
- solr - Solr 8.10 示例核心文件以及如何添加新核心
- pyspark - Azure Databricks 到 eventthub:com.microsoft.azure.eventhubs.TimeoutException
- swiftui - ScrollView 无法使用几何阅读器正确显示视图
- python - 方法外的类内代码与类外的代码
- python - 有没有办法将斐波那契数列编码为只得到一个输出
- javascript - 配置 Google Chart JS 库 (Loader.js) X 轴:轴在顶部
- c# - 如何从后面的代码重置页面生命周期?
- visual-c++ - CStatusBar::SetIndicators 正在返回值 0