响应不了onKeypress事件,是什么回事?

breezeforever 2006-10-18 10:40:48
<script language="javascript" type="text/javascript">
function test()
{
window.alert("aa");
}
</script>

<asp:TextBox ID="TextBox1" runat="server" onKeypress="test();"></asp:TextBox>
...全文
298 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yixianggao 2006-10-18
  • 打赏
  • 举报
回复
不测试的结果,哈,再次抱歉!

以下代码已经过测试:
注:是客户端的代码,aspx代码应该自己会改了吧!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>

<body>
<script language="JavaScript" defer>
<!--
var tb1 = document.getElementById("TextBox1");
// onkeypress 只能相应 空格和回车
//tb1.onkeypress = test;

// 建议改用 onkeydown 事件!
tb1.onkeydown = test;
function test()
{
window.alert("aa");
}
//-->

</script>
<input type="text" id="TextBox1">
</body>
</html>
breezeforever 2006-10-18
  • 打赏
  • 举报
回复
嗯,是过了一句,
可是又出错了:
"运行时错误: 'tb1' 为空或不是对象"
yixianggao 2006-10-18
  • 打赏
  • 举报
回复
document.getElementById(strWebCtrlId);

strWebCtrlId 参数就是 Web 控件的 Id,但必须是字符串,因此放在一对儿引号里!
yixianggao 2006-10-18
  • 打赏
  • 举报
回复
哈哈,晕了,少了一对儿引号!

var tb1 = document.getElementById(TextBox1);
改为
var tb1 = document.getElementById("TextBox1");

抱歉,抱歉!
breezeforever 2006-10-18
  • 打赏
  • 举报
回复
请帮忙再看看,调试结果不通过,报错:“运行时错误: 'TextBox1' 未定义”
<script language="javascript" type="text/javascript">
var tb1 = document.getElementById(TextBox1);
tb1.onKeypress = test();
function test()
{
window.alert("aa");
}
</script>

<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></div>
</form>
breezeforever 2006-10-18
  • 打赏
  • 举报
回复
用脚本调试器跟踪了一下,好像根本就没有执行test,我是用vs2005 asp.net写的,不知道有没有关系
yixianggao 2006-10-18
  • 打赏
  • 举报
回复
“如果你不把服务器端控件放在服务器端的form中”

汗,要是连这都不明白的话,俺就无话可说了!
yiyioo 2006-10-18
  • 打赏
  • 举报
回复
如果你不把服务器端控件放在服务器端的form中,会报错
像你刚才的代码

如果放在runat="server"的form中了.那么刚才的程序应该可行.
yixianggao 2006-10-18
  • 打赏
  • 举报
回复
你再试试看吧!
建议:WebControl 的脚本事件最好不要写入控件代码内!

<script language="javascript" type="text/javascript" defer>
var tb1 = document.getElementById(TextBox1);
tb1.onkeypress = test;
function test()
{
window.alert("aa");
}
</script>

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
breezeforever 2006-10-18
  • 打赏
  • 举报
回复
ok!
多谢了!!

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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