从键盘输入后启用/禁用文本区域

4

我有一个textarea,默认情况下是禁用的。然后,在用户按下“编辑”按钮后,我会从用户那里获取一些输入。如果它是有效的,我想启用textarea。这是我目前拥有的代码:

<textarea name="comment" cols="5" rows="2" disabled="true"><%= $tmp_com %></textarea>
<a href="javascript:validateUser()">Edit</a>

function validateUser(){
var name=prompt("Please enter the password");

    if (name=="1234")
    {
       document.getElementByName("comment").disabled="false";
    }
}
3个回答

12

JavaScript中没有getElementByName方法。最简单的解决方法是添加一个id,然后使用getElementById方法。

<textarea name="comment" id="comment" cols="5" rows="2" disabled="true">

以及 JavaScript

document.getElementById("comment").disabled="false";

2
几乎了。去掉“false”周围的引号,将参数变为布尔值而不是字符串,你就可以得到它了。 - Mac

8
最好使用id而不是name。无论如何我在这里使用name来遵循问题。
<a href="javascript:validateUser()">Edit</a>
<textarea name="comment" cols="5" rows="2" disabled="disabled">aaaaa</textarea>

<script type="text/javascript">
    function validateUser(){
        var name=prompt("Please enter the password");
        if (name=="1234")
        document.getElementsByName("comment")[0].disabled=false;
    }
</script>

...以及一个值为“false”的字符串 - 最好使用true/false而不是字符串,因为它们实际上是数字。 - andora

4
使用jQuery
$("[name='comment']").attr('disabled', true);
$("[name='comment']").attr('disabled', false);

按照ID

$("#comment").attr('disabled', true);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接