`

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

 
阅读更多

一个 Ajax 查询的功能,代码如下:

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

 

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

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

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

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

 

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

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

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

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

  原文出处:http://www.nowamagic.net/html/html_EnterCouseReflesh.php

分享到:
评论

相关推荐

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

    通过上述方法,就可以在Vue+Element UI开发的项目中,成功地阻止键盘回车事件导致的页面刷新问题。在实现自定义事件处理的同时,不破坏用户在使用回车键提交表单时的自然体验。希望这篇文章能对遇到此类问题的开发者...

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

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

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

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

    避免回车键导致的页面无意义刷新的解决方法

    当一个表单(`&lt;form&gt;`)包含一个或多个输入元素(如`&lt;input&gt;`),且没有指定提交按钮或者指定的提交事件处理时,用户在文本框内按下回车,浏览器默认的行为是将表单数据提交给表单的`action`属性指定的URL,这通常会...

    网页 按ctrl+回车提交

    通常,按下Enter键会触发表单的默认提交行为,这可能会导致页面刷新。为了防止这种情况,我们需要调用`event.preventDefault()`来阻止默认的表单提交。 4. **模拟表单提交**: 如果Ctrl+Enter组合键被按下,我们...

    JSP文本输入解决回车问题代码实例[可运行].rar

    在传统的HTML表单中,回车键会默认触发表单的submit事件,导致页面刷新或跳转。如果要在JSP中改变这种行为,我们有两种主要方法: 1. **JavaScript处理**:通过在前端使用JavaScript,我们可以监听键盘事件,尤其是...

    页面只有一个text的时候,回车自动submit的解决方法

    在网页设计中,用户在文本输入框(`&lt;input type="text"&gt;`)按下回车键时,浏览器通常会默认执行表单提交操作,导致页面刷新。这种情况在标题描述的场景下尤为突出,即页面只有一个文本输入框。当开发者希望在用户按...

    layer弹窗在键盘按回车将反复刷新的实现方法

    但有时候可能会出现按回车键导致页面刷新的bug。为了解决这个问题,需要对layer弹窗中的键盘事件进行适当的处理。 首先,需要理解`layer.open`方法。这是一个函数,用于生成一个layer弹窗。这个方法在调用后会返回...

    禁止按回车键提交表单的方法

    在网页开发中,用户按下回车键通常会触发表单的提交操作,这在某些情况下可能会导致意外的结果,比如在搜索框中按回车可能会刷新整个页面。本文将详细讲解如何禁止用户通过回车键来提交表单,以避免这种不必要的行为...

    禁止空格提交表单的js代码

    在网页开发中,用户在文本框中按下回车键通常会触发表单的提交操作,这可能导致页面刷新或执行其他不期望的行为。特别是在编辑器如CKEditor等富文本输入框中,用户可能不希望简单的回车键动作就导致页面刷新。针对这...

    基于Jquery的实现回车键Enter切换焦点

    它用于阻止事件的默认行为,例如,防止回车键导致页面的提交或刷新行为。这允许我们自定义回车键的功能,如焦点切换,而不是执行默认的提交行为。 ### 知识点五:事件冒泡与事件委托 JQuery利用了事件冒泡和事件...

    电脑常用操作(Java开发方面的)

    这段代码监听键盘事件,当检测到用户按下F5键或其他指定组合键时,会阻止默认行为的发生。 ### 六、JavaScript控制图片缩放 **知识点描述:** 通过JavaScript可以实现网页中图片的鼠标滚轮缩放功能。 **详细解释...

    JavaScript监听文本框回车事件并过滤文本框空格的方法

    在示例中,如果回车键被按下,页面的焦点将被移动到ID为`aLogin`的链接元素上,这意味着回车键的默认行为被取消,防止了页面的不必要刷新。 为了防止回车键被按下时触发表单的默认提交行为,示例中还提供了一个技巧...

    web测试点大全

    5. **浏览器行为兼容性**:检查使用浏览器的前进、后退、刷新按钮时,是否会引发数据重复提交或页面错误等问题。 6. **键盘快捷键支持**:确认表单是否支持回车键和Tab键的操作,特别是在输入字段之间切换时,Tab键...

    山东大学选网课脚本 将js文件中的代码复制粘贴至浏览器控制台中,按下回车自动执行代码。

    4. **事件监听与触发**:JavaScript可以通过监听网页上的特定事件(如点击、键盘输入等)来触发相应的函数执行。在这个脚本中,可能包含了对回车键(Enter)的监听,当按下回车时,代码开始执行。 5. **网页状态...

    jQuery实现form表单基于ajax无刷新提交方法详解

    同时,我们使用`.keydown()`方法监听键盘事件,当用户按下回车键时,焦点会移动到密码输入框或者触发表单提交。 3. **Ajax提交表单**: 当用户在密码输入框按下回车键,`$("#btnLogin").trigger("click")`模拟点击...

    计算机键盘操作基础知识.doc

    21. Ctrl+F5:在浏览器中强制刷新页面,获取最新内容。 22. Ctrl+拖动文件:复制文件至新位置。 23. Ctrl+Shift+拖动文件:创建文件的快捷方式。 24. Alt+空格+C:关闭当前窗口。 25. Alt+空格+N:最小化当前窗口。 ...

    网页收银(条码枪)

    这样,当条码枪扫描条形码时,会发送Ctrl+R的组合键,而不会导致页面刷新。 3. **解决快捷键冲突**:然而,需要注意的是,Ctrl+R在某些浏览器中是刷新页面的快捷键,可能会与条码枪的行为冲突。在这种情况下,必须...

Global site tag (gtag.js) - Google Analytics