javascript - 编辑文本输入时,如何在没有表单的 onSubmit 处理程序的情况下执行特定的 JavaScript 操作以点击 "Enter"键?

标签 javascript html forms

我有一个 HTML input 文本字段。

在编辑该字段时点击“Enter”按钮时如何执行特定的 JavaScript 调用?目前,点击“Enter”会重新加载整个页面,大概是因为提交了整个表单。

注意:此 HTML/JS 代码仅作为一个 portlet 包含在门户的大型 HTML 页面中,其中有一个大型主表单一直包裹着我的代码。因此,我无法控制表单 - 无法更改 onSubmit 事件或操作或将我的 INPUT 字段包装成较小的表单 - 否则解决方案将是显而易见的:)

此外,不涉及向表单添加可见按钮的解决方案强烈更可取(我不介意添加带有显示的按钮: hidden 如果这就是它所需要的,但我这样做的尝试似乎没有奏效)。

这需要直接使用 JS - 没有可用的查询/原型(prototype)/YUI。

附言这是一个搜索字段,如果有人好奇的话,该操作将调用现有的页内 JavaScript 搜索方法。

谢谢!

最佳答案

假设你有一个类似的文本输入

<input id="myTextBox" name="foo" value="bar">

...你可以这样做,在文档加载后,它将在所有主流浏览器中工作:

document.getElementById("myTextBox").onkeypress = function(evt) {
    evt = evt || window.event;
    var charCode = evt.keyCode || evt.which;
    if (charCode == 13) {
        // Suppress default action of the keypress
        if (evt.preventDefault) {
            evt.preventDefault();
        }
        evt.returnValue = false;

        // Do stuff here
    }
};

关于javascript - 编辑文本输入时,如何在没有表单的 onSubmit 处理程序的情况下执行特定的 JavaScript 操作以点击 "Enter"键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1633189/

相关文章:

javascript - MooTools:如何用文本插入替换现有字段文本?

php - 如何将两个 symfony 表单字段映射到一个模型方法?

JavaScript 注释

javascript - 如何包装跨越跨度节点边界的文本?

php - 在 JavaScript 弹出窗口中显示图像标题?

jquery - 单击按钮获取选择值并做某事

javascript - 无法使用 ng-class 在 Angular 中应用 CSS

html - 如何在CSS中使用 Sprite 图像?

Python 2 do_POST http.server multipart/formdata 到 Python 3

javascript - 通过 index.js 从文件夹导入