<asp:CheckBox ID="htmlChkNotify" runat="server" OnCheckedChanged="ToggleTextBox(this,'htmlTxtNotifyemailaddress')" />
<asp:TextBox ID="htmlTxtNotifyemailaddress" runat="server" Enabled="false"></asp:TextBox>
function ToggleTextBox(CheckBox,TextBoxID){
var TextBox = document.getElementById(TextBoxID);
if (CheckBox.checked) {
TextBox.disabled = false;
TextBox.value = "";
}
else {
TextBox.disabled = true;
TextBox.value = "";
}
}
我写的很像,但是当我运行代码时,错误信息出现“无法传递这个文字”之类的东西,那我怎么能这样做呢?
实际上你也可以在stackoverflow中看到demo“每天通知任何新的答案”我想点火事件。
谢谢
答案 0 :(得分:1)
OnCheckChanged
期待一个ASP.Net事件处理程序,它不适用于JavaScript,因为它附加了这样的事件处理程序:
htmlChkNotify.Attributes.Add("onclick",
"ToggleTextBox(this,'" + htmlTxtNotifyemailaddress.ClientID + "');");
为了便于阅读,我把它分解为2行,但我的想法是生成一个onclick
内联处理程序,而不是它当前正在尝试绑定的服务器端事件处理程序,它可以' t传递this
(这就是解析器失败的原因)。