javascript - 确保表单不会在输入时提交,而是运行函数

标签 javascript html forms button submit

认为我明白“按钮”应该是实现我想要的结果的正确方法;不知何故,它们应该与提交按钮不同。但我不明白如何得到我想要的结果。

我有以下内容:

<form action="http://www.google.com">
    <input type="text" id="box1">
    <button id="button1" onclick="myFunction()">Submit</button>
</form>

如果用户单击该按钮,该函数就会正确运行。 (该函数最终从 box1 中提取值)并对其执行某些操作)。但是,如果用户将光标放在文本框中时,按下键盘上的 Enter 键,表单就会提交并链接到 Google。

如何才能使在 box1 中按 Enter 键不会更改页面,而是运行 myFunction?

最佳答案

添加适当的事件处理程序并监听提交事件

<form action="http://www.google.com" id="myForm">
    <input type="text" id="box1">
    <button id="button1">Submit</button>
</form>

<script type="text/javascript">
    document.getElementById('myForm').addEventListener('submit', function(event) {
        event.preventDefault();

        myFunction()

    }, false);
</script>

FIDDLE

关于javascript - 确保表单不会在输入时提交,而是运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25532693/

相关文章:

php - 如何使用 php 和 html 在我的博客上显示两个 sql 表的信息

jquery - html 中的表单验证 Jquery

javascript - 当处理请求发布ajax时,如何禁用此表单中的表单(用户无法检查、填充文本、选择下拉列表等)?

javascript - 在 Vue.js 中,如何从 Google map 点击事件中调用函数?

javascript - 如何在javascript中动态设置组合框的值

html - 未悬停时 swf 打破底部边框

javascript - 单击按钮查找两个数字中的最大值

javascript - 如何使用单个函数获取所有 javascript 变量?

javascript - 使用纯 JavaScript 从 XML 中提取值

css - 创建左/右边框的最佳方式