2017-08-24 72 views
2

我試圖啓用一個P元素點擊禁用的元素。下面的代碼將存儲從文本框中的值到另一個文本框,我已經附加了div.later這個文本框將被禁用。將鼠標懸停在div上將出現編輯和刪除。單擊編輯時,div內的文本框必須再次啓用。啓用禁用的元素

<div id="ta"></div> 
<input type="text" id="tb"><br> 
<button onclick="add()">Submit</button><br>  

<script type="text/javascript"> 

var ta=""; 
    function add() { 
     var newDiv="",newTa="",newP="",newImg=""; 

     ta=document.getElementById('ta'); 
    newDiv = document.createElement("div"); 

    ta.appendChild(newDiv); 

    newTa = document.createElement("input"); 
    newTa.type="text" 
     newTa.disabled="true"; 
     newTa.value=document.getElementById("tb").value; 

     newDiv.onmousedown=function(){ 

     newP.style.visibility="visible"; 
    newImg.style.visibility="visible"; 

     }; 


     newP=document.createElement("p"); 

     newP.innerHTML="Edit"; 
     newP.style.visibility="hidden"; 
     newP.style.display="inline"; 
     newP.style.padding="5px"; 
     newP.onclick=function() 
     { 
      newTa.disabled="false";//this is not working 

     } 

爲什麼它不起作用?有沒有其他方法可以做到這一點?

+0

是 '假' 必須引? – ProEvilz

+0

提供了一個工作示例 –

+0

BadHorsie的回答是正確的。像這樣的問題通常是由於HTML屬性和DOM節點屬性之間的差異而導致混淆的結果,因此以下是一個很好的解讀:https://stackoverflow.com/questions/6003819/properties-and-attributes-in-html –

回答

1

原因可能是因爲您提供"false"作爲字符串。 From another answer here

[...]一個非空字符串是truthy。因此,將「false」分配給禁用屬性具有將其設置爲true的相同效果。

嘗試使用適當的布爾值代替。

newTa.disabled = false;