表单中的按钮会自动提交

Spi*_*man 22 html javascript

最近是否更改了HTML版本(例如从ie7到IE8?)我注意到以下更改导致我遇到麻烦 - 我有一个类似于此的代码:

<form method="POST" action="/admin/modify">
<input type="text"/>
<button onclick="dosomething()">Press</button>
</form>
<script type="text/javascript">
function doSomething(){
// doesn't matter what actually
}
</script>
Run Code Online (Sandbox Code Playgroud)

在这段代码中我对我的要求是,通过按下表单内的按钮,我想要的只是执行一些javascript操作,但事实上它也会导致表单被提交,即使我不愿意这样做.
那么 - 这是真的吗?如果是这样,我如何在from中执行一些java脚本actoin但是阻止表单自动提交?

Pek*_*ica 38

根据W3schools,submitbuttonIE 8中元素的新默认操作:

始终指定按钮的type属性.Internet Explorer的默认类型是"按钮",而在其他浏览器(以及W3C规范)中,它是"提交".

因此,如果您未指定类型,则表单将在所有浏览器中提交,但不会在IE 7中提交.

这应该工作:

<button type="button" onclick="dosomething()">Press</button>
Run Code Online (Sandbox Code Playgroud)