Jquery 防止表单提交触发按钮

Jquery 防止表单提交触发按钮,jquery,html,forms,Jquery,Html,Forms,我有一个表单,里面有几个文本框和几个按钮。我有两个自定义表单元素,我正在处理。特别是一个文本框,它将在单击后搜索数据库。这很好,但我还有一个按钮,可以运行代码onClick。这两者似乎都与提交表单有关 <form onsubmit="return false;"> <input type="text" id="autofill"> ... <button id="upload"> 在自动填充文本框中按enter键将显示测试警报,但不会

我有一个表单,里面有几个文本框和几个按钮。我有两个自定义表单元素,我正在处理。特别是一个文本框,它将在单击后搜索数据库。这很好,但我还有一个按钮,可以运行代码onClick。这两者似乎都与提交表单有关

<form onsubmit="return false;">
    <input type="text" id="autofill">
    ...
    <button id="upload">
在自动填充文本框中按enter键将显示测试警报,但不会执行任何
//do stuff
代码

我怎样才能防止这种情况发生

$(函数(){
$(“#自动填充”).keyup(函数(e){
如果(e.keyCode==13)
警报(“按回车键”);
});
$(“#上载”)。单击(函数(){
警报(“点击按钮”);
});
});

单击我以显示警报

为了防止表单随
一起提交,您需要指定
type=“button”

单击我以显示警报

如果未指定
类型
,默认值为
type=“submit”
,当您按enter键时,它将提交表单。

为了防止表单使用
提交,您需要指定
type=“button”

单击我以显示警报

如果未指定
类型
,默认值为
type=“submit”
,当您按enter键时,它将提交表单。

如果您有充分理由使用按钮类型“submit”,请尝试此解决方案。捕获文本框的“按键”事件并将其抑制

$(函数(){
//处理“按键”事件以防止表单提交
$(“#自动填充”)。按键(功能(e){
如果(e.keyCode==13){
e、 预防默认值();
e、 停止传播();
}
});
$(“#自动填充”).keyup(函数(e){
如果(e.keyCode==13)
警报(“按回车键”);
});
$(“#上载”)。单击(函数(){
警报(“点击按钮”);
});
});

单击我以显示警报

如果您有充分理由使用按钮类型“提交”,请尝试此解决方案。捕获文本框的“按键”事件并将其抑制

$(函数(){
//处理“按键”事件以防止表单提交
$(“#自动填充”)。按键(功能(e){
如果(e.keyCode==13){
e、 预防默认值();
e、 停止传播();
}
});
$(“#自动填充”).keyup(函数(e){
如果(e.keyCode==13)
警报(“按回车键”);
});
$(“#上载”)。单击(函数(){
警报(“点击按钮”);
});
});

单击我以显示警报

很难理解你想要完成什么。@EternalHour我想在文本框中按enter键时运行
//do stuff
;现在它显示的是
警报(“test”)
,而不是我在代码段中显示的。尝试在文本框中按enter键。它将显示“单击按钮”而不是“按Enter键”。很难理解您要完成的任务。@EternalHour我想在文本框中按Enter键时运行
//do stuff
;现在它显示的是
警报(“test”)
,而不是我在代码段中显示的。尝试在文本框中按enter键。它将显示“单击按钮”而不是“按Enter键”
$("input#autofill").keyUp(function(e){
    //Do stuff
});

$("button#upload").click(function(){
    alert("test");
});
<button id="upload" type="button">Click me to show an alert</button>