Javascript Onclick';t触发表格数据提交

Javascript Onclick';t触发表格数据提交,javascript,html,Javascript,Html,我刚刚发现,每当单击标记触发器中的事件时,表单都会像单击一样提交数据。 我不想那样。表单中的按钮用于其他任务,在我单击其中一个按钮后,表单不应提交数据 更清楚地说,我需要以下代码: <form action="http://www.google.com" method="POST"> <button onclick="alert('hi!')">Button</button> <br> <input type="sub

我刚刚发现,每当
单击
标记触发器中的
事件时,表单都会像单击
一样提交数据。 我不想那样。表单中的按钮用于其他任务,在我单击其中一个按钮后,表单不应提交数据

更清楚地说,我需要以下代码:

<form action="http://www.google.com" method="POST">
    <button onclick="alert('hi!')">Button</button>
    <br>
    <input type="submit" value="submit"/>
</form>

按钮

当我点击按钮时显示提示“嗨!”,之后它不应该打开谷歌。只有当我按“提交”时,它才会显示Google。试试这个

onclick="alert('hi!'); return false;"
试试这个

onclick="alert('hi!'); return false;"
具体说明:

按钮
从链接文章中:

如果未指定属性,则此[submit]为默认值

具体说明:

按钮
从链接文章中:

如果未指定属性,则此[submit]为默认值


使用jQuery使用范围而不是输入,使用.button调用,然后设置单击事件。

使用jQuery使用范围而不是输入,使用.button调用,然后设置单击事件。

Esailija,这取决于浏览器,我想,因为我在发布之前在Chrome中进行了测试,它将我重定向到Google。是的,我刚刚意识到,不同的浏览器可以采用不同的
类型,因为您没有指定它可能与Esailija重复,这取决于浏览器,我想,因为我在发布之前在Chrome中进行了测试,它会将我重定向到谷歌。是的,我刚刚意识到,不同的浏览器可以采用不同的
类型,因为您没有指定,两个答案可能重复,非常感谢。我认为这是最好的一个,因为它有助于理解为什么我一开始就有这个问题。@Alehar这应该可以工作(按钮不提交表单),即使javascript被禁用,因为
return false
依赖于启用javascript。啊,很抱歉,没有看到这个问题。因此,我的+1两个答案都有效,非常感谢。我认为这是最好的一个,因为它有助于理解为什么我一开始就有这个问题。@Alehar这应该可以工作(按钮不提交表单),即使javascript被禁用,因为
return false
依赖于启用javascript。啊,很抱歉,没有看到这个问题。因此从我这里得到+1