Javascript 我想要一个文本框被禁用,当一个文本区域里面没有写任何东西的时候

Javascript 我想要一个文本框被禁用,当一个文本区域里面没有写任何东西的时候,javascript,html,Javascript,Html,我想能够有一个texbox启用,只有当他们的文本写在一个特定的textarea 我尝试使用我编写的方法为textarea使用onkeydown属性。当我开始键入(按钮已启用)时,它会工作,但当我删除所有文本且文本区域为空时,按钮仍处于启用状态 //这是textbox和textarea的html代码 <input type="text" id="testUser" disabled="disabled" placeholder="username"> <textarea rows

我想能够有一个texbox启用,只有当他们的文本写在一个特定的textarea

我尝试使用我编写的方法为textarea使用onkeydown属性。当我开始键入(按钮已启用)时,它会工作,但当我删除所有文本且文本区域为空时,按钮仍处于启用状态

//这是textbox和textarea的html代码

<input type="text" id="testUser" disabled="disabled" placeholder="username">
<textarea rows="15" cols="105" id="sql" onkeydown="enableUsername()">

如果可能的话,我不希望对textarea使用onkeydown属性,因为我还有另一个功能要在以后实现。

您可以在下面找到一个工作片段-

var txtarea=document.getElementById('sql');
var username=document.getElementById('testUser');
函数enableUsername(){
如果(txtarea.value.length>0){
username.disabled=false;
}否则{
username.disabled=true;
}
}

只需将
onkeydown
替换为
onkeydup

<input type="text" id="testUser" disabled="disabled" placeholder="username">
<textarea rows="15" cols="105" id="sql"></textarea>

“我有另一个功能,我想稍后实现。”这意味着什么?您认为您只能将一个函数绑定到一个输入事件侦听器吗?使用“更改”事件,当某些内容发生更改时会触发该事件。另一个选项是当文本区域失去焦点时触发的“模糊”事件。我有一个按钮,可以自动用文本填充文本区域,因此I.D.o.n.n不想使用向下键。多次使用该事件也没有问题。(事件冒泡)。使用。
<input type="text" id="testUser" disabled="disabled" placeholder="username">
<textarea rows="15" cols="105" id="sql"></textarea>
var ele = document.getElementById("sql");

function enableUsername() {
  var flag = 0;

  if (ele.value.length > 0){
    document.getElementById("testUser").disabled=false;
  } else{
    document.getElementById("testUser").disabled=true;
  }
}
ele.addEventListener("keyup", enableUsername, false);