我在asp.net页面内,有一个
<input type="text" name="addr" onKeyPress="if(event.keyCode==13){alert('ok');}"  >
按下回车提示ok
但页面也刷新了,怎么样不刷新页面呢

解决方案 »

  1.   

    onKeyPress="if(event.keyCode==13){alert('ok'); return false;}"
      

  2.   

    <form id="Form1" method="post" runat="server" onsubmit="return false">在FORM中的TEXTBOX框中回车,会触发FORM的SUBMIT事件,这是IE对于HTML语法的解析设计使然,也并非ASP.net特有,在手工编写的纯HTML页面(非.net服务器端生成的HTML)中同样会有此现象。
    注意,在文本框中回车触发的是FORM的onsubmit事件,这一点可以在客户端FORM标签行中加onsubmit="javascript:window.alert('Submit?');"来验证。
    对于asp.net,因为所有服务器端事件都是通过客户端submit(加上viewstate和event.srcElement)实现的,在TEXTBOX中回车,会触发TEXTCHANGED服务器端事件,点击BUTTON才会触发服务器端Button_Click事件。而PAGE_LOAD是每次都会执行的。
      

  3.   

    可以把form里的asp:Button改成INPUT type=button因为asp:Button最后生成的都是input type=submit这样只要在form中输入回车,就会submit
      

  4.   

    onKeyPress="if(event.keyCode==13){alert('ok'); event.keyCode=9;return false;}"
      

  5.   

    楼上的是对的,把回车换成TAB,是个思路。如果回车一定刷新的
      

  6.   

    哈,使用AJAX吧,可以只刷新数据部分,页面其他部分保持不动