如何在javascript中设置文本框的只读属性

时间:2012-05-31 11:21:21

标签: javascript asp.net

我有一个文本框,其属性我需要设置为只读... 怎么设置? 我试过了

document.getElementbyid("txtbox").readonly=true;
document.getElementbyid("txtbox").disable=true;
document.getElementbyid("txtbox").setattribute("readonly","readonly");

所有这些都不适合我。 禁用正在工作,但是将控制值作为null传递给数据库...再次对我来说这是一个问题..

4 个答案:

答案 0 :(得分:6)

您可以通过javascript只读设置一个ASP.NET文本框。 方法如下:

<script type="text/javascript">
    function setReadOnly(){
        var textbox = document.getElementById("TextBox1");
        textbox.readOnly = "readonly";//readOnly is cese-sensitive
        }

<body onload=" setReadOnly ()">
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </div>
    </form>
</body>

希望它能帮到你。

答案 1 :(得分:5)

您的问题中的代码存在很多问题。如果你有正确的属性名称,那么第一个例子就可以了:

document.getElementById("txtbox").readOnly = true;

请注意大写字母(getElementById而不是getElementbyidreadOnly而不是readonly。)

以上是working example以上内容。

至于您的第二次尝试,该属性为disabled,而不是disable。第3次尝试,方法是setAttribute,而不是setattribute。如您所见,JavaScript区分大小写!

答案 2 :(得分:4)

正确的方法是:

document.getElementById("txtbox").setAttribute("readonly", "true");

或者对于jQuery爱好者:

$("#txtbox").attr("readonly", true);

答案 3 :(得分:2)

<script type="text/javascript">

function loading() {

    var input_text = document.getElementById("text");
    input_text.setAttribute("readOnly", true);
    }

 

对我很有用.......使用带有属性的camelcase ....... readOnly不是readonly .....