我想创建一个像这样的脚本:(下面是尝试)
protected void txtPassword_TextChanged(object sender, EventArgs e)
{
script = "<script type='text/javascript'>";
script += "function showmsg(){";
script += "$('#msg').slideDown('normal');";
script += "$('#msg span').addClass('message');";
script += "setTimeout('showmsg',100);";
script += "}";
script += "</script>";
ClientScript.RegisterClientScriptBlock(this.GetType(), "ShowMessage",script);
}
我的错误在哪里?为什么没有跑?
答案 0 :(得分:0)
假设脚本现在是页面的一部分,需要调用函数showmsg()
:
<script type="text/javascript">
$(function() {
showmsg();
});
</script>
因为您使用的是jQuery,所以应该执行showmsg
函数中的代码。
答案 1 :(得分:0)
无需在代码中以这种方式注册脚本。您只需使用javascript / jquery检查文本框文本的更改。
由于您使用的是jquery,因此当检测到文本框文本更改中的更改时,change()事件在标准JavaScript中不起作用。
看一下已经回答类似内容的链接。
https://stackoverflow.com/a/1481155/448407
希望这有帮助。
答案 2 :(得分:0)
您无需注册脚本。只需执行此操作即可在客户端处理更改事件:
$(document).ready(function() {
$('#<%= txtPassword.ClientID %>').change(function() {
alert('Handler for .change() called.');
});
});
您使用控件的ClientID属性通过jQuery查找它并订阅更改事件。
希望它有所帮助!
答案 3 :(得分:0)
似乎您正在使用一些jquery标记来应用一些动画,请记住,使用jquery,您必须在操作DOM之前加载Document。
(文档)$。就绪(()的函数 {
//你的脚本
});
答案 4 :(得分:0)
似乎你忘了说你的脚本是一个字符串,它应该这样工作。
protected void txtPassword_TextChanged(object sender, EventArgs e)
{
string script = "<script type='text/javascript'>";
script += "function showmsg(){";
script += "$('#msg').slideDown('normal');";
script += "$('#msg span').addClass('message');";
script += "setTimeout('showmsg',100);";
script += "}";
script += "</script>";
ClientScript.RegisterClientScriptBlock(this.GetType(), "ShowMessage",script);
}