2016-08-18 130 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