asp.net如何实现textbox的readonly 属性

lilin0503 2012-03-19 11:41:41
如题,在页面中有一个checkbox和一个textbox,我想当checkbox勾上的时候textbox可以输入,不勾的时候就readonly, 如何利用javascript实现?(checkbox 不是服务器控件 )
...全文
206 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen_ya_ping 2012-03-19
  • 打赏
  • 举报
回复
$("checkbox").click(function(){
if($(this).attr("checked"))
{
$("textbox").attr("readonly","readonly");
}
else
{
$("textbox").removeAttr("readonly");
}
});
lilin0503 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 findcaiyzh 的回复:]
引用 5 楼 lilin0503 的回复:

因为我的textbox的值需要后台处理,所以我的textBox是服务器控件,以上方法实现不了啊......


服务器控件也可以用ID取得的

$("#<%=textBox.ClientID%>").attr("readonly","readonly");

要注意的是,要放在aspx或者ascx中才可以。
[/Quote]
这是jquery的用法吧?我只想用js实现,没有引入jquery的库
xb2514680 2012-03-19
  • 打赏
  • 举报
回复
这个用js控制
lilin0503 2012-03-19
  • 打赏
  • 举报
回复
先用后台事件试过了,就是因为不能实现所以才想用js实现的
宝_爸 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lilin0503 的回复:]

因为我的textbox的值需要后台处理,所以我的textBox是服务器控件,以上方法实现不了啊......
[/Quote]

服务器控件也可以用ID取得的

$("#<%=textBox.ClientID%>").attr("readonly","readonly");

要注意的是,要放在aspx或者ascx中才可以。
IssacChow 2012-03-19
  • 打赏
  • 举报
回复
不都是一样么, document.getElementById("Control ID").readOnly 在byID,的时候用的是控件ID,js是可以获取到的啊.
如果不用js,就用后台事件嘛!!!!checkbox的onchanged事件咯
lilin0503 2012-03-19
  • 打赏
  • 举报
回复
因为我的textbox的值需要后台处理,所以我的textBox是服务器控件,以上方法实现不了啊......
porschev 2012-03-19
  • 打赏
  • 举报
回复

不用JQuery,用JS的方法


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="_20120301_Default5" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>

<script type="text/javascript">
function testFunc()
{
if(document.getElementById("Checkbox1").checked == true)
{
document.getElementById("Text1").readOnly = false;
}
else
{
document.getElementById("Text1").readOnly = true;
}

}
</script>

</head>
<body>
<form id="form1" runat="server">
<div>
<input id="Checkbox1" type="checkbox" onclick="testFunc();" />
<input id="Text1" type="text" readonly="readonly" />
</div>
</form>
</body>

porschev 2012-03-19
  • 打赏
  • 举报
回复
这个,2楼给的反了


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="_20120301_Default5" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>

<script src="../jquery-1.3.2-vsdoc.js" type="text/javascript"></script>

<script type="text/javascript">
$(function(){
$("#Checkbox1").click(function(){
if($(this).attr("checked") == true)
{
$("#Text1").attr("readonly","");
}
else
{
$("#Text1").attr("readonly","readonly");
}
});
});
</script>

</head>
<body>
<form id="form1" runat="server">
<div>
<input id="Checkbox1" type="checkbox" />
<input id="Text1" type="text" readonly="readonly"/>
</div>
</form>
</body>
</html>


porschev 2012-03-19
  • 打赏
  • 举报
回复


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="_20120301_Default5" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>

<script src="../jquery-1.3.2-vsdoc.js" type="text/javascript"></script>

<script type="text/javascript">
$(function(){
$("#Checkbox1").click(function(){
if($(this).attr("checked") == true)
{
$("#Text1").attr("readonly","readonly");
}
else
{
$("#Text1").attr("readonly","");
}
});
});
</script>

</head>
<body>
<form id="form1" runat="server">
<div>
<input id="Checkbox1" type="checkbox" />
<input id="Text1" type="text" />
</div>
</form>
</body>
</html>


朕赐你肥皂 2012-03-19
  • 打赏
  • 举报
回复


<script type="text/javascript">
$(document).ready(function () {

$("#ckbox").click(function () {
if ($("#ckbox").attr("checked")) {
$("#txt").attr("readonly", "readonly");
}
else {
$("#txt").removeAttr("readonly");
}
});
});
</script>


porschev 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lilin0503 的回复:]

因为我的textbox的值需要后台处理,所以我的textBox是服务器控件,以上方法实现不了啊......
[/Quote]

服务器近件有什么不同吗?

Jquery获取服务器控件

$("[id$=控件的ID]")

JS获取

document.getElementById("<%=控件的ID.ClientID%>")
lilin0503 2012-03-19
  • 打赏
  • 举报
回复
搞定了 谢谢各位!!!!
朕赐你肥皂 2012-03-19
  • 打赏
  • 举报
回复

HTML页面
<asp:CheckBox runat="server" ID="ckbox" onclick="cbClick()"/>

<asp:TextBox runat="server" ID="txt"></asp:TextBox>



function cbClick() {
if (document.getElementById("<%=ckbox.ClientID%>").checked) {
document.getElementById("<%=txt.ClientID%>").readOnly = true;
}
else {
document.getElementById("<%=txt.ClientID%>").readOnly = false;
}
}

风2013 2012-03-19
  • 打赏
  • 举报
回复
1、2、3 楼的方法都是可以的

只需要把 document.getElementById("Text1") 改成
document.getElementById("<%= Text1.ClientID%>")就可以了

checkbox 取id也是一样

<asp:TextBox runat="server" id="Text1" />

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧