我想在textbox中按下回车时执行一个服务器端方法,但总是还要去执行一个按钮的事件,怎么不执行按钮事件呢?

fashionboy 2004-03-16 11:04:15
在一个web工程里,我在textbox的onTextChanged事件中执行了一个方法,当在textbox中按下回车时这个方法执行了,但是同时也触发了页面上一个按钮的事件,怎么能屏蔽掉那个按钮事件的执行呢?我查过以前的帖子,试过在其中写javascript,然后用自己定义的onkeydown事件替换document的事件,但是还是会触发这个服务器端按钮的click事件,请哪位指教一下?
...全文
44 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
singleflower 2004-03-22
  • 打赏
  • 举报
回复
kingastar(qingzhu) 说的对,只能这样,我还不知道是否有别的办法
XXSingle 2004-03-22
  • 打赏
  • 举报
回复
UP
fashionboy 2004-03-16
  • 打赏
  • 举报
回复
我在javascript中是这么写的:

function keyDown()
{
<% this.loadUserInfo();%>
}

window.document.onkeydown = keyDown;

loadUserInfo()是我写的一个服务器端public类型的方法。
按下回车后,这个方法确实执行了,但是同时也触发了页面
上一个服务器端按钮的onclick事件。不知道为什么呢?
wudixiaocaoren 2004-03-16
  • 打赏
  • 举报
回复
我想也不会,得看一下代码
tfming 2004-03-16
  • 打赏
  • 举报
回复
应该不会?你把你的code贴出来
kingastar 2004-03-16
  • 打赏
  • 举报
回复
实际上服务端的控件也是写成html,采用javascript将数据post过来,再触发服务器端定义的方法。
因为服务器端控件一触发就post了,所以,你定义客户端的事件还没有来及调用就没有了。

“如果我使用普通的html按钮的话,怎么提交来执行服务器端方法呢?”
客户端触发后执行完后一样来个submit,然后通过传递一个参数比如action=add

<input type=hidden name=action >
action=add
form1.submit();

服务器端
if (request.form["action"]=="add")
//触发服务器端事件。

fashionboy 2004-03-16
  • 打赏
  • 举报
回复
如果我使用普通的html按钮的话,怎么提交来执行服务器端方法呢?
fashionboy 2004-03-16
  • 打赏
  • 举报
回复
照楼上所说,我如果用普通的html button我就需要在此button中去调用一个服务器端的方法来执行保存动作。但是当页面load的时候,也会执行这个html button中的方法?
fashionboy 2004-03-16
  • 打赏
  • 举报
回复
我用的是webbutton,将此按钮的tabindex=-1不行。
怎么检查isPostBack问题呢?
HenanBoy 2004-03-16
  • 打赏
  • 举报
回复
this.page.IsPostBack的问题你检查一下了
WZCNet 2004-03-16
  • 打赏
  • 举报
回复
将按钮的tabIndex = -1
dragonwzw 2004-03-16
  • 打赏
  • 举报
回复
正常现象.你用的提交按钮是:WebButton还是HtmlButton的(submit)按钮?
当使用这两种按钮时,页面的焦点始终是在这个按钮上.如果你按下回车键,当然会触发他们的onclick事件.

建议使用HtmlButton(type="button")即普通按钮.

62,047

社区成员

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

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

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

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