asp.net是通过ViewState中的数据来判断是哪个Control引发事件,再确定调用的处理方法。以上的问题应该是回车时,页面ViewState里没有正确的指示引发事件的控件引起的。 还有一个问题,就是一个web form页面,如果有多个文本框,多个button,比如,我们一个主页上会有搜索框及搜索button,会员登录框及登录button,最好的实现是用户在搜索框上回车时,提交的是搜索,在会员用户名或密码框上回车时是登录事件。 地球人都知道,用户控件拖到web from上后,用户控件上的控件名称都会发生变化,且一个web from又只能有一个runat server 的Form。 问题:同一页面多个文本框,鼠标分别进入后直接回车,提交不同事件问题解决 分析可以查看这个页面的html源代码文件,可以看到服务器控件一样变成了submit类型的缘故 问题解决:添加如下函数 各文本框调用此 ////////////////// //回车处理事件// ////////////////// function clickBtn(e) { if(window.event.keyCode==13) { var id=e.id; switch(id) { case "txt_phoneNum": document.getElementById("img_phoneNum_search").click();//调用手机号码搜索事件 window.event.returnValue=false; break; case "txt_SearchName": document.getElementById("imgbtn_Search").click();//调用商品名称搜索事件 window.event.returnValue=false; break; } } }
Powered by: 博客园 Copyright © twh_zj
Seasons in the sun MSN: