最近是否更改了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>
在此代码中对我的要求是,通过按下表单内的按钮,我想要的只是执行一些javascript操作,但事实上它也会导致表单被提交,即使我不愿意这样做。
那么 - 这是真的吗?如果是这样,我如何在from中执行一些java脚本actoin但是阻止表单自动提交?
答案 0 :(得分:38)
根据W3schools,submit
是IE 8中button
元素的新默认操作:
始终指定按钮的type属性。 Internet Explorer的默认类型是“按钮”,而在其他浏览器中(以及在W3C规范中),它是“提交”。
因此,如果您未指定类型,则表单将在所有浏览器中提交,但不会在IE 7中提交。
这应该有效:
<button type="button" onclick="dosomething()">Press</button>
答案 1 :(得分:2)
来自button element的IE文档:
Internet Explorer 8及更高版本。此属性的默认值取决于当前文档兼容性模式。在IE8模式下,默认值为submit。在其他兼容模式和早期版本的Internet Explorer中,默认值为button。
标准建议默认类型为submit
,以前版本的IE错误地默认为button