500分!高手请看,前两次无人能解决,第三次提问!让文本框响应TextChanged事件时,为什么会自动执行按钮的onclick事件?

bobzhu 2005-01-06 03:40:18
本来是一个简单的问题:当用户在一个文本框中输入帐号时,系统执行TextChanged事件,在该事件中自动取得该帐号的其它一些信息。用户在其它文本框中再输入一些资料后点击完成按钮,系统执行onclick事件,把所有的信息提交到数据库。可是碰到的问题是,本来应该响应TextChanged事件的,却自动执行 onclick事件了,怎样使得响应TextChanged事件时,不响应onclick事件?
前面发过帖子但无人能解决,高手也可以看如下的页面:
http://community.csdn.net/Expert/topic/3702/3702088.xml?temp=.2348596
http://community.csdn.net/Expert/topic/3702/3702841.xml?temp=.1764185
...全文
240 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuandme000 2005-01-06
  • 打赏
  • 举报
回复
晕!
没想到楼主的问题竟然是这样!
niss 2005-01-06
  • 打赏
  • 举报
回复
晕,根本没这种问题,
wangrenda 2005-01-06
  • 打赏
  • 举报
回复
用js来做,TextChanged事件并不立刻触发
bobzhu 2005-01-06
  • 打赏
  • 举报
回复
哈哈问题已经解决!首先应该用WEB控件而我用了INPUT控件,其次要设定AUTOPOSTBACK为TRUE最后再加上this.TextBox1.Attributes.Add("onkeydown","if(event.keyCode==13){event.keyCode=9;}");就搞定了。接分,各位
niss 2005-01-06
  • 打赏
  • 举报
回复
我先试试先,有这种问题?不相信
zhjboss 2005-01-06
  • 打赏
  • 举报
回复
应该没有错,我原来也是这样问题啊,我也不知道怎么解决
xuandme000 2005-01-06
  • 打赏
  • 举报
回复
不懂,你的代码没有问题啊,而且你说的那种情况,我怎么也试不出来,不知楼主是则怎么遇到的.
你把aspx文件的代码也贴出来吧,怀疑你是不是用了js之类的东西!
liulxmooo 2005-01-06
  • 打赏
  • 举报
回复
up
rustical 2005-01-06
  • 打赏
  • 举报
回复
你的信誉分好少??
bobzhu 2005-01-06
  • 打赏
  • 举报
回复

代码如下:
Private Sub txtAccount_ServerChange(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAccount.ServerChange
myDB = New DB
myReader = myDB.getRecReader("select * from tb_customdevice where account='" & Trim(txtAccount.Value) & "'")
If myReader.Read = True Then
Me.RegisterStartupScript("c", "<Script Language='Javascript'>alert('帐户所用的设备信息已经录入!');</Script>")
myReader.Close()
Exit Sub
Else
myReader.Close()
End If
myReader = myDB.getRecReader("select customname,installaddress,opendate from tb_custom where account='" & Trim(txtAccount.Value) & "'")
If myReader.Read = True Then
txtcustomName.Value = myReader.GetString(0)
txtInstallAddress.Value = myReader.GetString(1)
txtInstallDate.Value = myReader.GetDateTime(2)
myReader.Close()
End If
End Sub
########################################################################
Private Sub btnOk_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnOk.Click
Dim strSql As String
Static strAccount As String
myDB = New DB
myReader = myDB.getRecReader("select * from tb_custom where account='" & Trim(txtAccount.Value) & "'")
If myReader.Read = False Then
Me.RegisterStartupScript("c", "<Script Language='Javascript'>alert('帐户名不存在!');</Script>")
myReader.Close()
Exit Sub
Else
myReader.Close()
End If
strSql = "insert into tb_customdevice values('" & Trim(txtAccount.Value) & "','" & Trim(txtJointWay.Value) & "','" & Trim(txtBindBase.Value) & "','" & Trim(txtWirelessCardCompany.Value) & "'," & txtWirelessCardNum.Value & ",'" & Trim(txtJointModelCompany.Value) & "'," & txtJointModelNum.Value & ",'" & Trim(txtExchangerCompany.Value) & "'," & txtExchangerNum.Value & ",'" & Trim(txtRelayCompany.Value) & "'," & txtRelayNum.Value & ",'" & Trim(txtfootNode.Value) & "','" & Trim(txtJointNode.Value) & "','" & Trim(txtLineMove.Value) & "'," & txtLineLength.Value & ")"
myDB.uptRec(strSql)
Me.RegisterStartupScript("c", "<Script Language='Javascript'>alert('添加客户设备成功!');</Script>")
txtAccount.Value = ""
End Sub
huanghuibo 2005-01-06
  • 打赏
  • 举报
回复
那你是如何生成TextChang事件的呢?
conghui 2005-01-06
  • 打赏
  • 举报
回复
将所有的控件的TabIndex从小到大设置一下,再文本框的Tab事件设为回车事件,再试试
fengforever 2005-01-06
  • 打赏
  • 举报
回复
把代码贴出来看看呀
xuandme000 2005-01-06
  • 打赏
  • 举报
回复
<body onkeydown="enterToTab()">

function enterToTab()
{
if(event.srcElement.type !="submit" && event.srcElement.type!="textarea" && event.keyCode==13)
{
event.keyCode = 9;

}
}
这样在你输入完文本框的内容后按回车就不会执行按钮事件了!

62,074

社区成员

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

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

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

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