`

<转>键盘回车事件导致页面刷新的问题

阅读更多

我最近在做一个 Ajax 查询的功能,代码如下:

1 <form name="keywordForm" method="post" action="">  
2 <p id="profile_nav">  
3 <label for="profile"> 关键字搜索: </label>  
4 <input style="width:80; height:20" type="text" name="keyword" onkeypress="searchKeywordKeyboard(event)" />  
5 <input type="button" value="搜索" onClick="searchKeyword()">  
6 </p
7 </form>

在文本框中输入关键字按回车,页面自动刷新了,结果肯定是没有实现无刷新搜索了。想了想,可能是按回车后默认提交了表单,于是将form去掉,果然不刷了。但是还是会有很多地方需要用到form。

一个表单下,如果只有一个文本框时,按下回车将会触发表单的提交事件。

既然是只有一个文本框才会出问题,那么可以加一个隐藏的文本框,如下:

1 <input id="hiddenText" type="text" style="display:none" />

现在代码成了这样:

1 <form name="keywordForm" method="post" action="">  
2 <p id="profile_nav">  
3 <label for="profile"> 关键字搜索: </label>  
4 <input style="width:80; height:20" type="text" name="keyword" onkeypress="searchKeywordKeyboard(event)" />  
5 <input id="hiddenText" type="text" style="display:none" onkeypress="searchKeywordKeyboard(event)" />
6 <input type="button" value="搜索" onClick="searchKeyword()">  
7 </p
8 </form>

结论是,可以采取两种方法解决这种问题:1.去掉表单;2.如果非得用表单,只要不让表单里有且只有一个文本框就OK了。

如果以上的方法还不足以让你去解决问题,那么你可以用以下方法来阻止因为回车而引起的表单自动提交:

1 <form name="keywordForm" method="post" action="" onsubmit="return false;">  
2 <p id="profile_nav">  
3 <label for="profile"> 关键字搜索: </label>  
4 <input style="width:80; height:20" type="text" name="keyword" onkeypress="searchKeywordKeyboard(event)" />  
5 <input id="hiddenText" type="text" style="display:none" onkeypress="searchKeywordKeyboard(event)" />
6 <input type="button" value="搜索" onClick="searchKeyword()">  
7 </p
8 </form>

就是在表单 form 后面加上一个 onsubmit 事件,返回 false,来阻止 form 提交。

分享到:
评论

相关推荐

    C#编程经验技巧宝典

    58&lt;br&gt;&lt;br&gt;0081 文本中首字母改为大写 59&lt;br&gt;&lt;br&gt;0082 C#随机数的产生 59&lt;br&gt;&lt;br&gt;0083 身份证从15位升至18位算法 60&lt;br&gt;&lt;br&gt;0084 十进制数转二进制数的算法 60&lt;br&gt;&lt;br&gt;0085 十进制数转八进制数的算法 61...

    数据结构课程设计:行编辑程序

    格式:i&lt;回车&gt;&lt;行号&gt;&lt;回车&gt;&lt;文本&gt;&lt;回车&gt;。 将&lt;文本&gt;插入活区第&lt;行号&gt;行之后。 (2) 行删除。格式:d&lt;回车&gt;&lt;行号1&gt;,&lt;行号2&gt;&lt;回车&gt;。 删除活区中第&lt;行号1&gt;行到第&lt;行号2&gt;行。 (3) 活区切换。格式:n&lt;回车&gt;&lt;页数&gt;&lt;回车&gt;...

    jsp编程技巧集锦

    数字转中文&lt;br&gt;128 自动计算金额&lt;br&gt;129 JSP页面打印中使用WebBrowser控件&lt;br&gt;130 &lt;select...&gt;不刷新页面添加新的类别&lt;br&gt;131 鼠标滚动缩放图片&lt;br&gt;132 根据输入的表名生成输入数据表格&lt;br&gt;133 JSP表格输出到Excel...

    课程设计简单行编辑 源代码

    行插入:(格式:i&lt;行号&gt;&lt;回车&gt;&lt;文本&gt;&lt;回车&gt;,即 将&lt;文本&gt;插入活区中的第&lt; 行号&gt;行之后); 行删除:(格式:d&lt;行号1&gt;[ &lt;行号2&gt;]&lt;回车&gt;, 删除活区中第&lt;行号1&gt;行(到第&lt;行号2&gt;行),两种格式的例子是:“d10 ”和...

    C#.net_经典编程例子400个

    116&lt;br&gt;2.11 焦点变换与输入控制 117&lt;br&gt;实例088 按回车键焦点在控件中移动的录入窗口 117&lt;br&gt;实例089 程序运行时拖动控件 119&lt;br&gt;实例090 控件得到焦点时变色 120&lt;br&gt;实例091 控件的输入限制 121&lt;br&gt;2.12...

    Maxthon2.0.2.2961苦菜花增强清爽精简版

    启用多线程时的 Flashget 引用页问题&lt;br&gt;* 通过其它程序的调用打开时不载入起始页&lt;br&gt;* 改进了 Favicon 的下载处理方式&lt;br&gt;* WMA 格式无法嗅探的问题&lt;br&gt;* 嗅探格式填写错误导致的嗅探问题&lt;br&gt;* 页面内容过滤站点...

    解决vue+element 键盘回车事件导致页面刷新的问题

    今天小编就为大家分享一篇解决vue+element 键盘回车事件导致页面刷新的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    Maxthon2.0.2.2961苦菜花增强优化安装版

    启用多线程时的 Flashget 引用页问题&lt;br&gt;* 通过其它程序的调用打开时不载入起始页&lt;br&gt;* 改进了 Favicon 的下载处理方式&lt;br&gt;* WMA 格式无法嗅探的问题&lt;br&gt;* 嗅探格式填写错误导致的嗅探问题&lt;br&gt;* 页面内容过滤站点...

    按回车键时跳到下一个表单元素的javascript代码

    按回车键时跳到下一个表单元素的javascript代码&lt;br&gt;&lt;br&gt;函数说明:按回车键时跳到下一个表单元素&lt;br&gt;JumpToNextElement() 用于按回车键时跳到下一个表单元素(统一处理按回车键的问题)&lt;br&gt;在页面调用:&lt;br&gt;&lt;script ...

    简单行编辑课程设计说明书

    用栈实现简单的行编辑程序,主要功能有:行插入(格式:i&lt;行号&gt;&lt;回车&gt;&lt;文本&gt;&lt;回车&gt;,即 将&lt;文本&gt;插入活区中的第&lt;行号&gt;行之后);行删除(格式:d&lt;行号1&gt;[ &lt;行号2&gt;]&lt;回车&gt;, 删除活区中第&lt;行号1&gt;行(到第&lt;行号2&gt;行),...

    asp.net专家疑难解答200问

    如何处理多页面重定向到同一页面后的返回问题 &lt;br&gt;25.如何用Response.Redirect方法传递汉字 &lt;br&gt;29.如何利用输出缓存技术缓存整个页面 &lt;br&gt;30.如何利用片段缓存技术对用户控件进行缓存 &lt;br&gt;31.如何利用数据缓存技术...

    兴华车辆管理系统博通版

    3:回车登记&lt;br&gt; 4:用车申请&lt;br&gt;六:维修管理&lt;br&gt; 1:维修保养完工登记&lt;br&gt; 2:车辆维修保养&lt;br&gt;七:材料管理&lt;br&gt; 1:材料库存&lt;br&gt; 1:当前库存明细&lt;br&gt; 2:当前库存按配件汇总&lt;br&gt; 2:材料入库&lt;br&gt; 1:材料入库&lt;br&gt; 2:入库...

    PHBMail v1.2.0

    &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;常见问题及解决&lt;br&gt;&lt;br&gt;1.乱码问题!&lt;br&gt;本文件采用GBK编码,所以在使用其他编码时,可能会存在乱码情况,请自行转到相应编码!&lt;br&gt;&lt;br&gt;2.用户名或密码验证出错!&lt;br&gt;如果用户名或密码处出错请按照以下...

    记忆与联想的演示程序

    &lt;br&gt;&lt;br&gt;&gt;按键盘方向键可以移动所选择的信息元素位置&lt;br&gt;&lt;br&gt;&gt;按回车可以选择查看连接的数值&lt;br&gt;&lt;br&gt;&gt;用DELETE键可以删除绿色的信息元素和连接,当然请不要删除矩阵内的信息元素&lt;br&gt;&lt;br&gt;&gt;橙色的数字是信息反映强度值...

    兴华车辆管理系统精华版

    回车登记.&lt;br&gt; 4.用车申请.&lt;br&gt;六.维修管理.&lt;br&gt; 1.维修完工登记.&lt;br&gt; 2.车辆送修.&lt;br&gt; 3.维护领料.&lt;br&gt;七.配件管理.&lt;br&gt; 1.配件入库.&lt;br&gt; 2.配件出库&lt;br&gt; 3.当前库存明细.&lt;br&gt; 4.按配件汇总当前库存.&lt;br&gt;八.其他...

    jQuery搜索框实例绑定提交事件.zip

    jQuery搜索框实例绑定提交事件是一款下拉选择多种搜索引擎分类,搜索框输入文字键盘回车绑定提交搜索按钮代码。 &lt;div class="input-group-btn"&gt;  &lt;button type="button" class="btn btn-link  dropdown-...

    SQL智能完成工具BDB

    &lt;br&gt;&lt;br&gt;&lt;br&gt;一、使用&lt;br&gt;&lt;br&gt;运行BDB,切换至“查询分析”页签,&lt;br&gt;您可以按CTRL+J快捷键列出选择项&lt;br&gt;(默认,可在“选项”中进行更改),&lt;br&gt;&lt;br&gt;或直接输入语法,&lt;br&gt;系统会根据当前输入的字符进行智能搜索,...

    兴华货运公司车辆管理软件

    回车管理.&lt;br&gt;四.加油及费用管理.&lt;br&gt;1.车辆加油管理.&lt;br&gt;2.其他费用登记.&lt;br&gt;3.车辆油耗考核.&lt;br&gt;4.车辆其他考核.&lt;br&gt;五.车辆维修管理&lt;br&gt;1.车辆维修管理.&lt;br&gt;2.维修完工登记.&lt;br&gt;六.车辆配件管理&lt;br&gt;1.车辆配件...

    疯狂论坛 "商务"版 v1.0.0 Beta 1122

    为方便 QQ 用户,特设 CTRL+回车 进行发贴&lt;br&gt; 30. 自动适应任何分辨率&lt;br&gt; 31. 短信息收件箱条数限制&lt;br&gt; 32. 论坛公告功能,每个论坛都可以单独设置相应的公告&lt;br&gt; 33. 保密论坛功能,可以单独设置某些用户可以...

    梦想互动社区 Ver4.0 For Dvbbs7.1 美化修改版

    [color=#1E90FF]==========在动网原有的基础上修改了以下内容==========&lt;br&gt; 解决DV编辑器回车换双行的问题&lt;br&gt; 精华帖子标题后(上)面加精华图章&lt;br&gt; 状态栏分时段问候&lt;br&gt; 在&quot;魔法表情选择页&quot;做关闭...

Global site tag (gtag.js) - Google Analytics