Javascript禁用按钮,直到所有字段都填满

Moe*_*Doe 3 javascript button

将不胜感激一些帮助解决这个问题。需要使事件侦听器适用于所有元素。所以基本上当你填写姓名,姓氏,即所有字段时,只有按钮应该被启用,即使其中一个字段是空的,按钮也应该被禁用。

 (function () {
 "use strict";

 var knapp = document.getElementById('skicka');

 knapp.disabled = true;

 var f=document.getElementById('fornamn');
 var e=document.getElementById('efternamn');
 var p=document.getElementById('passnr');
 var n=document.getElementById('nat');

 e.addEventListener('change',function(){

  if(e.value==='' ){

 knapp.disabled=true;
   }

 else{
  knapp.disabled=false;
 }
  });

  })();
Run Code Online (Sandbox Code Playgroud)

Thi*_*ous 6

let d = document, [inputs, knapp] = [
    d.querySelectorAll('[type="text"]'),
    d.querySelector('#skicka')]
knapp.disabled = true

for (i = 0; i < inputs.length; i++) {
  inputs[i].addEventListener('input',() => {
    let values = []
    inputs.forEach(v => values.push(v.value))
    knapp.disabled = values.includes('')
  })
}
Run Code Online (Sandbox Code Playgroud)
<form>
  <input id=fornamn type=text><br>
  <input id=efternamn type=text><br>
  <input id=passnr type=text><br>
  <input id=nat type=text><br>
  <input type=button id=skicka value=Complete>
</form>
Run Code Online (Sandbox Code Playgroud)

这将做到。我更喜欢inputnot上的事件处理程序change,以便您可以在键入时看到该按钮被启用。每次在任何字段中输入任何内容时,它都会立即获取所有值并将它们添加到数组中。的.includes(),作为新的ES6,是一种方法,用于阵列,并返回布尔的特定值的检查。