最近超文本标记语言的版本有变化吗(比如从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脚本操作,而不是阻止表单被自动提交呢?
发布于 2010-03-14 05:13:23
根据W3schools的说法,submit
是IE 8中button
元素的新默认操作:
总是为按钮指定类型属性。Internet Explorer的默认类型是“按钮”,而在其他浏览器中(以及在W3C规范中),它是“提交”。
因此,如果不指定类型,表单将在所有浏览器中提交,但不能在IE7中提交。
这应该是可行的:
<button type="button" onclick="dosomething()">Press</button>
发布于 2010-03-14 05:16:07
从button element的IE文档
Internet Explorer 8及更高版本。此属性的默认值取决于当前的文档兼容模式。在IE8模式下,默认值为submit。在其他兼容模式和Internet Explorer的早期版本中,默认值为按钮。
标准建议默认类型为submit
,以前版本的IE错误地默认为button
https://stackoverflow.com/questions/2440043
复制相似问题