启用已禁用的元素

时间:2017-08-24 09:48:11

标签: javascript html

我尝试在点击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

        }

为什么它不起作用?还有其他方法吗?

2 个答案:

答案 0 :(得分:1)

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

  

[...]非空字符串是真的。所以分配&#34; false&#34;对disabled属性具有与将其设置为true相同的效果。

请尝试使用正确的布尔值。

newTa.disabled = false;

答案 1 :(得分:0)

newTa.disabled="true"
newTa.disabled="false"

这两个应该没有&#34;&#34;

newTa.disabled=true
newTa.disabled=false

否则你可以这样做:

var x = document.getElementById("mySelect").disabled;

https://www.w3schools.com/jsref/prop_select_disabled.asp