我最近在做一个 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" />

现在代码成了这样:

  <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 id="hiddenText" type="text" style="display:none"onkeypress="searchKeywordKeyboard(event)" />
  <input type="button" value="搜索" onClick="searchKeyword()"
  </p>
  </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 提交。

转载于:https://www.cnblogs.com/renyunbo/p/6441952.html

键盘回车事件导致页面刷新的问题相关推荐

  1. vue+elementUI 键盘回车事件导致页面刷新的问题

    在控件上已经添加了: @keyup.enter.native="searchProjects()" 监听,但是回车确是reload 页面,需要在表单上form上添加: <el ...

  2. vue el-form鼠标事件导致页面刷新解决方案;vue 阻止多次点击提交数据通用方法...

    一.阻止表单自动提交刷新页面:<el-form><el-form-item :inline="true" @submit.native.prevent>&l ...

  3. 当 el-form 组件下只有一个 el-input 组件时,按回车键会导致页面刷新

    当 el-form 组件下只有一个 el-input 组件时,按回车键会导致页面刷新的问题可能是由于浏览器默认的表单提交行为所导致的.解决此问题的一种方法是使用 @submit.native.prev ...

  4. popstate android4.3,微信安卓popstate后退导致页面刷新解决方案

    问题描述: 在安卓机微信版本号为7.0.4到7.0.8下监听popstate事件时,当点击物理键返回时,浏览器会强制页面刷新,导致popstate中定义的一些事件因为刷新而受影响,比如出现弹窗闪退现象 ...

  5. vue+element Form键盘回车事件页面刷新解决

    问题描述:如下代码所示,使用element-ui 中的el-form组件对table进行条件查询,当查询条件仅有一项时,使用@keyup.enter.native事件绑定回车事件,出现点击回车后,浏览 ...

  6. android webview 刷新当前页面,Android WebView时重新加载导致页面刷新的问题

    最近碰到一个需求,用WebView加载页面,选择了筛选条件之后,跳转到新的webVIew页面之后再返回,原来的筛选条件由于页面刷新导致已经清空,怎样才能解决返回的时候不去重新加载页面呢,网上很多答案是 ...

  7. 微信小程序软键盘回车事件

    应用场景主要是在搜索的时候输入框输入完内容以后,点击软键盘上的回车调用搜索方法,代码如下: wxml: <input placeholder="粘贴商品标题或直接输入" va ...

  8. gridview databind 会导致页面刷新马_Innodb批量页面刷盘情况下的quot;两次写quot;

    //Innodb批量页面刷盘情况下的"两次写"// 之前的文章中,我们介绍过innodb的两次写特性,这里给出链接: InnoDB的两次写特性 今天我们完善一下这部分的内容. 我们 ...

  9. 点击form 表单中的button导致页面刷新问题

    2019独角兽企业重金招聘Python工程师标准>>> 做点击按钮切换背景样式与内容的时候每次都刷新页面 ,发现button写在了form 标签当中 <form>< ...

最新文章

  1. python代码大全p-Python网络爬虫实战项目代码大全(长期更新,欢迎补充)
  2. [ZJOI2011]礼物
  3. A题 Go! Fun游长三角 2021年第一届长三角高校数学建模竞赛
  4. HDU1542--Atlantis(扫描线)
  5. python日志_python 日志模块
  6. java写一个外网访问的接口_Java程序员如何入门?教你写第一个程序
  7. 第3次作业:阅读《构建之法》1-5章
  8. 土壤修复废水除镍技术,除镍树脂材料
  9. knald操作_Knald软件转换贴图的技巧
  10. Edison C++编程笔记
  11. 安装CDH出现file /opt/cloudera/parcels/.flood/CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel...does not exist
  12. android 电池(一):锂电池基本原理篇 .
  13. 黑盒测试、白盒测试与灰盒测试方法
  14. zigbee无线传感网实训---linux命令的简单了解(one day)
  15. MATLAB程序:IEEE802.16d路径损耗模型
  16. 2020.10.7--PS--填充图层、调整图层、调整图层与剪贴蒙版
  17. 阿德莱德计算机科学学士好吗,阿德莱德大学哪个专业好
  18. 解决MySQL CPU占用100%的经验总结
  19. uniapp app端 ios 安卓 附件上传踩得坑
  20. 计算机系相声剧本,2015年爆笑小品剧本台词《作弊记》

热门文章

  1. 阿里巴巴发布AI养蜂系统
  2. 在美人才开始流向中国,因为“硅谷太慢了”
  3. 矩阵的终极分解-奇异值分解 SVD
  4. 这个人工智能强到让人感到害怕
  5. SAP 会计凭证和物料凭证的关系
  6. Python 之 Pandas (六)合并
  7. 2022年十大卫星技术创新及发展趋势
  8. 终于,LoRaWAN成全球物联网标准!LoRa将拿下LPWAN领域50%市场?
  9. 为什么数学家、统计学家和机器学习专家会用不同方式解决问题?
  10. UC伯克利发现「没有免费午餐定理」加强版:每个神经网络,都是一个高维向量...