相关疑难解决方法(0)

通过按Enter键阻止用户提交表单

我在一个网站上进行了一项调查,用户点击输入(我不知道为什么)并在不点击提交按钮的情况下意外提交调查(表格)似乎存在一些问题.有办法防止这种情况吗?

我在调查中使用HTML,PHP 5.2.9和jQuery.

html forms jquery form-submit

732
推荐指数
22
解决办法
54万
查看次数

按Enter键时阻止表单提交

我有一个带有禁用提交按钮的表单.即使用户无法按下此按钮,他仍然可以按Enter键提交表单.我该如何预防呢?

html javascript

10
推荐指数
3
解决办法
2万
查看次数

防止用户按文字区域输入Enter

我有一个相当复杂的形式,有多个阶段,有许多不同的文本字段和文本区域.它在使用过的条形码中使用的环境默认情况下是输入的,并且可以选择使用它们扫描大量产品,因此关闭输入功能已成为一个禁忌.

我正在使用表单向导脚本,它在输入阶段处理客户端验证.填写表单时输入键被中断,并且在刷新页面之前拒绝提交,此脚本会中断.

<a href="javascript:;" class="btn green button-submit">Submit <i class="m-icon-swapright m-icon-white"></i></a>
Run Code Online (Sandbox Code Playgroud)

我有以下代码,可以防止在表单上输入,并允许在单击上面的链接时提交表单.

$(window).keydown(function (event) {
    if (event.keyCode == 13) {
        event.preventDefault();
        return false;
    }
});
Run Code Online (Sandbox Code Playgroud)

但是这可以防止在textarea中使用输入.我做了一些研究并尝试使用is()jQuery中的运算符

$(document).ready(function () {
    $(window).keydown(function (event) {
        if (event.keyCode == 13 && !event.is("textarea")) {
            event.preventDefault();
            return false;
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

这不起作用,它无法阻止输入中的输入键,并使表单停止提交,就像之前一样.

最后,如果验证在表单上传递,这是处理提交表单的javascript

$('#form_wizard_1 .button-submit').click(function () {
    // Can put more onsubmit processing here
    document.getElementById('submit_form').submit();
}).hide();
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我如何阻止所有输入的输入键除了textareas.我并不假装自己是一名JavaScript开发人员,尽管我正在努力学习.以下是我读过的文章,试图改编代码或未能理解它如何以正确的方式适用于我:

通过按Enter键阻止用户提交表单

通过按Enter#2阻止用户提交表单

禁用页面上的输入键,但不在textarea中


*关于最后一个链接,我需要一个全局解决方案,自动阻止它在表单中可能存在的所有textareas.

一如既往,感谢您的帮助.

javascript forms jquery

5
推荐指数
1
解决办法
4217
查看次数

可以阻止Enter从仅从某些输入字段在Javascript中提交表单

我有一个表单,其中onkeyup触发为某些字段创建建议框.我可以捕获向上箭头,向下箭头和转义的击键,并相应地使用它们在建议框中移动或关闭它.我想使用enter将他们的选择移动到触发建议的输入字段.但是,我似乎无法捕获输入击键.

控件永远不会进入我的javascript建议功能.相反,表格只是提交.我已经尝试了在输入时返回false的noEnter函数传递给onkeypress和onkeydown用于有问题的输入元素,没有骰子.该表单似乎从所有输入事件处理程序中获取控制权,并在其中任何一个可以执行任何操作之前提交自身.

表单提交是否覆盖字段中的所有其他事件处理程序,或者此处还有其他内容吗?如果确实如此,那有什么办法吗?

这是有问题的元素(删除了一些值):

<input type="text" name="myInput" id="myInputField" size="22" onkeypress="noEnter(event)" onkeyup="suggest(event)" onblur="hideSuggestions()">
Run Code Online (Sandbox Code Playgroud)

这是javascript来捕捉它:

    var evnt = (event ? event : window.event);

    var key = evnt.keyCode;

    if(key == 13) { // Handle Enter
        alert("ENTER PRESSED.");
        hideSuggestions();
        return false;
    }
Run Code Online (Sandbox Code Playgroud)

警报永远不会触发.放在函数顶部的警报也不会触发.但是,对于转义键,当我将完全相同的代码放入if检查key == 27警报时.

关于几乎相同的主题还有其他问题,例如:阻止用户通过输入#2来提交表单

但是,我没有使用jquery,我只想阻止enter提交这个字段.但是,各种问题中提到的其他解决方案似乎都不起作用.

EDITTED:解释密钥的设置位置.

html javascript forms javascript-events

3
推荐指数
1
解决办法
4648
查看次数