5

我有一个文本框,我需要将其属性设置为只读...如何设置?我试过

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

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

4

4 回答 4

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>

希望它会帮助你。

于 2012-05-31T11:22:02.020 回答
5

正确的方法是:

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

或者对于 jQuery 爱好者:

$("#txtbox").attr("readonly", true);
于 2012-05-31T11:27:56.190 回答
5

您的问题中的代码有很多问题。如果您的属性名称正确,第一个示例将起作用:

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

注意大写字母(getElementById代替getElementbyidreadOnly代替readonly)。

这是上面的一个工作示例

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

于 2012-05-31T11:28:21.610 回答
2
<script type="text/javascript">

function loading() {

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

对我很有效.......使用带有属性的驼峰式...... readOnly不像只读......

于 2012-08-06T01:52:01.430 回答