今天在做我的一个小玩意 在线聊天工具的时候

form表单只有一个text和一个button每当我键入enter的时候就刷新。很是郁闷,直接在form上onsumbit=false。才行。

下面是我查询到的结果。

1.form表单回车后自动提交总结

默认情况下,一个文本框的时候,提交,不管按钮type是submit还是button

一个文本框的时候怎么才能做到不提交,方法是加一个隐藏掉的文本框

只要有type为submit的按钮存在,一个文本框还是多个文本框都提交

多个文本框的时候,不提交,用type为button的按钮就行啦

用button元素时,FX和IE下有不同的表现

radio和checkbox在FX下也会触发提交表单,在IE下不会

type为image的按钮,等同于type为submit的效 果

2. 如果 onsubmit 句柄返回 fasle,表单的元素就不会提交。如果该函数返回其他值或什么都没有返回,则表单会被提交。

由于 onsubmit 句柄可以取消表单的提交,所以它对于进行表单验证是十分理想的;

这样的话,修改form的onsubmit事件可以让敲入回车的时候执行我们想要的操作而不跳转到action所指定的url,如下:

<form action="myurl" onSubmit="fun1();return false;">

执行fun1后不会跳转,方便表单操作

3.使用onkeydown事件,如下:

<input type="text"  onkeydown="if(event.keyCode==13){fun1();}"/>

这样在文本输入框内输入文字后直接敲击回车,也会执行fun1函数

有个疑问问下大家,onkeydown事件能为form或者div这样的元素注册吗,比如说

<div onkeydown=" if(event.keyCode==13){fun1();} "></div>

就是希望在焦点在div层的任何一个地方的时候,敲击回车活也执行fun1,而不是非要焦点在文本输入框的时候敲击回车才去执行fun1,那位清楚的探讨下,我试了下貌似不行

如何让form表单在enter键入时不提交的更多相关文章

  1. form表单按enter键自动提交的问题

    废话不多说.直接上代码. 1:form表单按enter键自动提交的情况 <!doctype html> <html lang="en"> <head& ...

  2. form表单的enter自动提交

    当form中只有一个文本框时并且获得焦点 按enter时,就会自动提交表单.阻止自动提交 可以添加一个隐藏的input框 <input type="text" style=& ...

  3. form表单回车Enter不直接提交,类似tab切换

    <input> 控件增加onkeypress事件 onkeypress="return handleEnter(this, event)" JS如下: var keyC ...

  4. 【jQuery】将form表单通过ajax实现无刷新提交

    //将form转换为AJAX提交 function ajaxSubmit(url,frm,fn){ var dataPara=getFormJson(frm); $.ajax({ url:url, t ...

  5. html form表单追加input元素后在提交

    form.append(input); //input为对象 (设置name和val有效) $("#form1").submit();//提交事件

  6. form表单 ----在路上(15)

    form 表单就是将用户的信息提交到服务器,服务器会将信息存储活着根据信息查询数据进行增删改查,再将其返回给用户. 基本格式: <form action="" method ...

  7. form表单取消按钮自动提交

    默认写在form表单里的按钮可以自动提交表单,现在要实现的效果是点击button按钮调用js函数,再有ajax提交 <button type="button" class=& ...

  8. js阻止form表单重复提交

    防止表单重复提交的方法总体来说有两种,一种是在js中阻止重复提交:另一种是在后台利用token令牌实现,大致思路是生成一个随机码放到session和form表单的隐藏输入框中,提交表单时两者对比,表单 ...

  9. 项目回顾1-图片上传-form表单还是base64-前端图片压缩

    第一个项目终于上线了,是一个叫亲青筹的公益众筹平台,微信端,电脑端还有后台界面大部分都是我完成的,几个月过来,感觉收获了很多,觉得要总结一下. 首先想到的是图片上传的问题.在通常表单数据都是ajax上 ...

随机推荐

  1. C#中的装箱拆箱

    在C#中,经常需要把值类型和引用类型相互转换. 首先明确两条法则: 1.引用类型总是被分配到“堆”上. 2.值类型总是分配到它声明的地方: a.作为引用类型的成员变量分配到“堆”上 b.作为方法的局部 ...

  2. Struts2 使用基本流程

    使用流程: 1.引入Struts 2的库文件: 将"common-logging-1.0.4.jar"."freemaker-2.3.8.jar"." ...

  3. 在Ubuntu 14.04 64bit上安装Markdown和绘图软件Haroopad

    简介 Haroopad:一款让你欲罢不能的Markdown编辑器 身为大程序员,我本来是不需要 Markdown 编辑器的,但是 Haroopad 让我简直欲罢不能,不能再爱更多.跨平台,代码高亮,V ...

  4. git 服务器新建仓库 远程仓库

    Git 服务器搭建 上一章节中我们远程仓库使用了 Github,Github 公开的项目是免费的,但是如果你不想让其他人看到你的项目就需要收费. 这时我们就需要自己搭建一台Git服务器作为私有仓库使用 ...

  5. SpringBoot2 【关于:Table 'XXX.hibernate_sequence' doesn't exist】

    将ID生成略组改成@GeneratedValue(strategy = GenerationType.IDENTITY).

  6. WebRTC 源码分析(三):安卓视频硬编码

    数据怎么送进编码器? 怎么从编码器取数据? 如何做流控? 在开始之前,我们先了解一下 MediaCodec 的基本知识. MediaCodec 基础 Developer 官网 上的描述已经很清楚了,下 ...

  7. APICloud 实践 —— 手机端预览项目

    上一次讲到如何创建一个应用,今天讲下如何在手机端预览项目. 1.下载 AppLoader 下载地址:https://docs.apicloud.com/Download/download#apploa ...

  8. JS复制内容到剪贴板(兼容FF/Chrome/Safari所有浏览器)

    现在浏览器种类也越来越多,诸如 IE.Firefox.Chrome.Safari等等,因此现在要实现一个js复制内容到剪贴板的小功能就不是一件那么容易的事了. 在FLASH 9 时代,有一个通杀所有浏 ...

  9. [redis] redis连接远程客户端查询数据

    F:cd redis-2.8.12redis-cli.exe -h 192.168.6.107 -p 16680redis-cli.exe -h 192.168.6.107 -p 16681redis ...

  10. Spring Boot使用Servlet、Filter或Listener的方式

    根据官方文档说明,有两种方式可以在你的Spring Boot应用中使用Servlet.Filter或Listener. 其一:将Servlet.Filter或Listener注册成Spring Bea ...