2016-08-18 131 views
0
  <form id="register-form"> 
       <div class="form-group"> 
       <label for="name">Name</label> 
       <input type="text" class="form-control" id="name" placeholder="Enter user name" /> 
       </div> 

       <div class="form-group"> 
       <label for="dof">Date of Birth</label> 
       <input type="date" class="form-control" id="dof" onchange="return enableSave(event);" placeholder="mm/dd/yyyy" /> 
       </div> 

       <button id="save-button" class="btn btn-primary pull-right" onclick="save(event);">Save</button> 
      </form> 


<script type="text/javascript"> 

var savebutton = document.getElementById('save-button'); 
savebutton.setAttribute('disabled', 'disabled'); 

function enableSave() { 
    var n = document.getElementById('name').value; 
    var d = document.getElementById('dof').value; 
    if(n && d) { 
     savebutton.setAttribute('enabled', 'enabled'); 
    } 
}; 

</script> 

我的函數enableSave()沒有將SAVE按鈕的屬性設置爲'enabled'。JS - setAttribute()不起作用

我不明白爲什麼。

非常感謝!

+2

你的代碼設置'enabled'屬性(如果正確計時),但它不是一個標準的屬性,因此,設置它沒有效果。要「啓用」按鈕,請刪除「disabled」屬性。 – Teemu

+2

或者設置'savebutton.disabled = false;' – 4castle

回答

3

onchange=return enableSave(event);刪除return和替代savebutton.setAttribute('enabled', 'enabled');使用savebutton.removeAttribute('disabled');

UPDATE: 這是一個工作Plunkr