来看看吧..

cookies10wen 2009-04-22 11:21:47
在页面中键入回车时调用某一TextBox的TextChanged()事件

前后代码:

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<link href="StyleSheet.css" rel="stylesheet" type="text/css" />
</head>
<script language="javascript">
function document.onkeydown()
{
var e=event.srcElement;
if(event.keyCode==13)
{
document.getElementById("JobNo").TextChanged();
return false;
//alert('键入回车...')
}
}
</script>
<body>
<form id="form1" runat="server">
 
<asp:TextBox ID="JobNo" runat="server" Width="120px"></asp:TextBox>
<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</form>
</body>
</html>


后台代码:

Partial Class _Default
Inherits System.Web.UI.Page

Protected Sub JobNo_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles JobNo.TextChanged
Response.Write("<script>alert('测试成功.')</script>")
End Sub
End Class



问题是当页面只有一个TextBox的时候就能实现,但有两个TextBox就不能实现,这是为什么?
...全文
158 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
地下室小红叔 2009-04-25
  • 打赏
  • 举报
回复
这年头 挣分和挣钱一样不容易
地下室小红叔 2009-04-25
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 cookies10wen 的回复:]
引用 10 楼 WO_YOU_XIE_SHANG_XIN 的回复:
引用 9 楼 cookies10wen 的回复:
等...


我写的那个已经测试过


测试过啦...但是提示js脚本错误...


引用 11 楼 Lxpd 的回复:
无论是一个或两个你这样写都是错的,
既使一个的时候你看到的结果也不是按你想向的执行的,
document.getElementById("JobNo").TextChanged();
你前台脚本里根本就没有TextChanged()方法,TextChanged()方法是服务器端控件的后台方法,…
[/Quote]

我本机没有问题 在贴在这前 我把命名改成你写的了 为了看起来方便 有可能你那没输出__doPostBack脚本 也有可能你把__doPostBack写成_doPostBack 刚开始用经常会犯这个错哦 查看源文件就明白了 原理明白了才是最终目的
热学沸腾56 2009-04-24
  • 打赏
  • 举报
回复
帮顶..
cookies10wen 2009-04-24
  • 打赏
  • 举报
回复
.........
mqc507 2009-04-23
  • 打赏
  • 举报
回复
12212212
Lxpd 2009-04-23
  • 打赏
  • 举报
回复
无论是一个或两个你这样写都是错的,
既使一个的时候你看到的结果也不是按你想向的执行的,
document.getElementById("JobNo").TextChanged();
你前台脚本里根本就没有TextChanged()方法,TextChanged()方法是服务器端控件的后台方法, 要想引发回发要用__doPostBack();

WO_YOU_XIE_SHANG_XIN
神说我的老婆在火星,夜夜数星星 提供的方法是完全正确的,.....
地下室小红叔 2009-04-23
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 cookies10wen 的回复:]
等...
[/Quote]

我写的那个已经测试过
cookies10wen 2009-04-23
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 WO_YOU_XIE_SHANG_XIN 的回复:]
引用 9 楼 cookies10wen 的回复:
等...


我写的那个已经测试过
[/Quote]

测试过啦...但是提示js脚本错误...




[Quote=引用 11 楼 Lxpd 的回复:]
无论是一个或两个你这样写都是错的,
既使一个的时候你看到的结果也不是按你想向的执行的,
document.getElementById("JobNo").TextChanged();
你前台脚本里根本就没有TextChanged()方法,TextChanged()方法是服务器端控件的后台方法, 要想引发回发要用__doPostBack();

WO_YOU_XIE_SHANG_XIN
神说我的老婆在火星,夜夜数星星 提供的方法是完全正确的,.....
[/Quote]


当我的页面只一个JobNo TextBox的时候是可以实现的...^^
cookies10wen 2009-04-22
  • 打赏
  • 举报
回复
等...
cppfaq 2009-04-22
  • 打赏
  • 举报
回复
试了下,两个的时候脚本出错
继续查....
kkai189 2009-04-22
  • 打赏
  • 举报
回复
当页面只有一个<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
的时候,按下回车,会自动提交页面,(我也不清楚为什么)
两个的时候就不会自动提交页面了。

yuliangok520 2009-04-22
  • 打赏
  • 举报
回复
jjjjjjjjjjjj
xiehouwuyan 2009-04-22
  • 打赏
  • 举报
回复
帮顶一下
地下室小红叔 2009-04-22
  • 打赏
  • 举报
回复
帮你改了下
html
<html>
<body>
<form id="form1" runat="server">
 
<asp:TextBox ID="JobNo" runat="server" Width="120px"></asp:TextBox>
<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</form>
</body>
</html>



js脚本

document.onkeydown=function ()
{
if (event.keyCode==13)
{
var eventTarget="JobNo_TextChanged";
var argument="";
__doPostBack(eventTarget,argument);
return false;
}
}


后台代码
        protected void Page_Load(object sender, EventArgs e)
{
ClientScript.GetPostBackEventReference(JobNo,null); //向客户端输出事件脚本
}
protected void JobNo_TextChanged(object sender, EventArgs e)
{
Response.Write("Enter key clicked!");
}

javaxi 2009-04-22
  • 打赏
  • 举报
回复
帮顶
cookies10wen 2009-04-22
  • 打赏
  • 举报
回复
谁说一下呢..???

62,074

社区成员

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

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

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

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