`

页面禁用Enter键自动提交表单

阅读更多

 

 

在HTML页里面由于使用了form,常常需要禁用enter提交表单。因为内容页或者母版页自身有如果有type="submit"的button,当textbox聚焦时,按下enter都会触发表单的默认提交(不论是IE还是firefox),于是需要在onkeydown中监听用户的按键。实际测试,IE8中导致表单提交的不确定因素太多,点击表单的table中的td都会触发表单提交,而firefox则不会;于是在ie和ff中禁用表单提交需要不同的思路。

对于IE:

只有当事件源是TEXTAREA时才return true,允许默认动作;其他元素全部return false,禁止表单提交和任何响应。

对于firefox:

 只有当事件源是INPUT时才return false禁止表单默认动作;而其他元素则return true允许默认动作,比如textarea的多行输入。

 

<script language="javascript" type="text/javascript"><!
 //禁用Enter键表单自动提交
        document.onkeydown = function(event) {
            var target, code, tag;
            if (!event) {
                event = window.event; //针对ie浏览器
                target = event.srcElement;
                code = event.keyCode;
                if (code == 13) {
                    tag = target.tagName;
                    if (tag == "TEXTAREA") { return true; }
                    else { return false; }
                }
            }
            else {
                target = event.target; //针对遵循w3c标准的浏览器,如Firefox
                code = event.keyCode;
                if (code == 13) {
                    tag = target.tagName;
                    if (tag == "INPUT") { return false; }
                    else { return true; }
                }
            }
        };
 </script>

分享到:
评论

相关推荐

    禁用Enter键表单自动提交实现代码

    在网页开发中,用户在填写表单时按下...通过这种方法,我们可以确保在需要的地方禁用Enter键的表单提交,同时允许在适当的地方(如文本区域)正常使用Enter键。这种方式提高了用户体验,使得表单的交互更加可控和友好。

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

    出现自动提交的情况,有两种可能: ...我们对于第一种情况一般都知道而且很容易理解,但是对于第二种浏览器的默认行为,可能知道这一点的人就比较少了,下面我具体看一下浏览器(至少ie如此)在表单提交上的默认行为。

    如何防止INPUT按回车自动提交表单FORM

    通过JavaScript为`&lt;input&gt;`元素添加`onkeydown`事件,监听键盘事件,当检测到回车键(键码13)被按下时,返回`false`阻止表单提交。 ```html &lt;!doctype html&gt; &lt;title&gt;test &lt;!--为input增加一个按键...

    如何防止回车(enter)键提交表单

    在网页设计中,用户在表单中按下回车键(Enter键)通常会触发表单的提交动作,这在某些情况下可能不是我们期望的行为。为了防止这种情况,可以通过JavaScript来阻止回车键的默认提交动作。以下是一些实现方法: 1. ...

    ie ,火狐 文本框回车自动提交

    在网页开发过程中,一个常见的需求是当用户在文本框中按下回车键时,自动触发表单提交。这种功能在多种浏览器中实现的方式可能有所不同,尤其是对于IE(Internet Explorer)和Firefox这两种主流浏览器。本文将深入...

    form表单中去掉默认的enter键提交并绑定js方法实现代码

    在网页开发中,`&lt;form&gt;` 表单是用于用户输入数据的重要元素,而`Enter`键通常是用来触发表单的默认提交行为的。然而,有时候我们可能希望阻止这一默认行为,转而自定义`Enter`键的功能,比如通过JavaScript绑定特定...

    控制TAB及ENTER键在子窗体中的行为access2000

    在Access中,Tab键通常用于在表单或窗体的不同控件间切换焦点,而Enter键则经常用于执行默认按钮的操作。默认情况下,按下Tab键会按照控件的Tab顺序在窗体的所有控件间移动,包括主窗体和嵌套的子窗体。但如果我们...

    使用JQuery实现Ctrl+Enter提交表单的方法

    传统的提交方法通常需要用户点击提交按钮或输入框以外的地方来触发表单提交,或者在输入框中直接按下Enter键。在文本编辑器或聊天应用中,人们常常希望能够在不离开输入区域的情况下快速提交信息,这时,Ctrl+Enter...

    避免自动填充表单_html5_javascript_

    当页面加载时,检查本地存储或Cookie中是否存在有效的登录信息,如果存在,则自动填充表单并提交: ```javascript if (localStorage.getItem('username') && localStorage.getItem('password')) { document....

    精彩编程与编程技巧-避免按 [ENTER] 键产生的“嘀”声...

    - **表单验证**:在需要进行输入验证的应用程序中,可以使用这种方法来防止用户直接通过[ENTER]键提交未完成的表单。 - **用户界面优化**:对于注重用户体验的设计来说,消除不必要的提示音可以提升整体的专业度和...

    javascript 按回车键相应按钮提交事件.docx

    - 在表单提交之后,可以通过禁用提交按钮的方式来避免用户重复提交表单。 - 示例代码: ```javascript function onSub() { // 表单验证代码 document.getElementById('bsubmit').disabled = true; } ``` 2....

    web页面如何写测试用例

    - **目标**: 确认表单提交的数据与数据库中存储的数据一致。 - **测试步骤**: - 提交表单,然后查询数据库。 - 检查数据是否正确插入或更新。 **5. 表单提交失败时的数据保留** - **目标**: 当表单提交失败时,已...

    JS实现Enter键跳转及控件获得焦点

    本文主要讲述如何使用JavaScript实现当用户在网页中按下Enter键时,不仅能够触发某个动作(例如提交表单),还能让特定的控件获得焦点。通过使用jQuery,我们能够编写简短的代码来处理不同浏览器中的键盘事件差异,...

    js光标定位文本框回车表单提交问题的解决方法

    通过这种方式,我们能够确保用户在输入框中按下回车键时,不会触发表单的默认提交行为,而是可以自定义其他逻辑,例如打开新的搜索结果页面,或者触发非表单提交的其他事件。 上述解决方案可以减少用户混淆,提升...

    C#winform控件textbox按键输入控制.rar

    4. **回车键处理**:在某些情况下,可能需要禁用或替换回车键的默认行为,如提交表单。可以在`KeyDown`事件中检测`Keys.Enter`: ```csharp private void textBox1_KeyDown(object sender, KeyEventArgs e) { if (e...

    jquery enter换行通用

    - **返回`false`**:阻止默认行为,如表单提交。 ##### 3.4 聚焦下一个元素 ```javascript function NextDOM(myjQueryObjects, counter) { if (myjQueryObjects.eq(counter + 1)[0].disabled) { NextDOM...

    jsp中input的高级运用

    默认情况下,在`&lt;input&gt;`框内按下Enter键会触发表单提交或页面刷新。为了防止这种情况,可以通过JavaScript重定向该事件,比如将其更改为Tab键行为: ```html (event.keyCode == 13) event.keyCode = 9;" /&gt; ``` ##...

    Javascript KeyCode大全

    - **Enter (13)**:回车键,用于提交表单或执行命令。 - **Shift_L (16)**:左Shift键,用于输入大写字母或特殊字符。 - **Control_L (17)**:左Ctrl键,常与其他键组合使用以实现快捷操作。 - **Alt_L (18)**:左...

Global site tag (gtag.js) - Google Analytics