Javascript 如果输入字段为空或不为空,则禁用和启用按钮
Javascript to disable and enable button if input field is empty or not
This is my code
我想在输入字段为空时禁用按钮,并在输入字段不为空时重新启用它。
Works when input field is empty
但是当我填写输入字段时,按钮仍然被禁用。
Does not works when input field is not empty
我认为这是一个简单的逻辑,但我仍然无法让它发挥作用。我敢肯定我的逻辑一定有问题。我应该在禁用按钮后使用事件吗?我该如何解决这个问题?帮帮我。
您的代码存在的问题是您只检查了一次输入值。尽管其他人建议使用 onkeyup
事件,但问题是当用户粘贴输入时,按钮将保持禁用状态。我们可以改为使用每次值更改时都会触发的 input
事件。
let button = document.getElementById("btn")
let input = document.getElementById("task")
input.addEventListener("input", function(e) {
if(input.value.length == 0) {
button.disabled = true
} else {
button.disabled = false
}
})
<input id="task">
<button id="btn" disabled>
send
</button>
This is my code
我想在输入字段为空时禁用按钮,并在输入字段不为空时重新启用它。
Works when input field is empty 但是当我填写输入字段时,按钮仍然被禁用。 Does not works when input field is not empty
我认为这是一个简单的逻辑,但我仍然无法让它发挥作用。我敢肯定我的逻辑一定有问题。我应该在禁用按钮后使用事件吗?我该如何解决这个问题?帮帮我。
您的代码存在的问题是您只检查了一次输入值。尽管其他人建议使用 onkeyup
事件,但问题是当用户粘贴输入时,按钮将保持禁用状态。我们可以改为使用每次值更改时都会触发的 input
事件。
let button = document.getElementById("btn")
let input = document.getElementById("task")
input.addEventListener("input", function(e) {
if(input.value.length == 0) {
button.disabled = true
} else {
button.disabled = false
}
})
<input id="task">
<button id="btn" disabled>
send
</button>