锚标记中的onclick事件在IE中不起作用

时间:2010-09-06 18:55:05

标签: javascript internet-explorer onclick anchor

以下在Fi​​refox和Chrome中运行良好,但是当单击锚链接时,IE 8不会调用submit()方法。

<a href="javascript:void(0);" onclick="submit();">Sign In</a>

提交方法在以下相同的页面上定义:

<head>
<script type="text/javascript">

function submit()
{
// other code                                              
document.forms[0].submit();
}  

</script>
</head>

4 个答案:

答案 0 :(得分:7)

你能提供更多的背景吗?例如submit函数的定义位置和方式?如上所述,它应该工作 - 除了:

你可能还希望return false;在那里取消默认操作。 E.g:

<a href="javascript:void(0);" onclick="submit();return false;">Sign In</a>

默认操作可能会在submit之后立即发生,并会干扰它。

修改:只是为了适应和咯咯笑,请尝试为submit功能使用其他名称。 IE有命名空间问题。例如,如果您将idname属性设置为“提交”,则可能存在问题......

答案 1 :(得分:2)

对于其他最近遇到此问题的人来说,对我来说,这是因为IE 11在网站上使用兼容模式。它看到我在同一个域,假设该站点是一个Intranet站点并自动切换到兼容模式,这打破了一些Javascript(并导致一些其他意外的显示问题)。

您可以关闭此功能&#39;通过单击设置cog并选择&#34;兼容性视图设置&#34;。设置了一个名为&#34的复选框;在兼容性视图中显示内部网站点&#34;。

答案 2 :(得分:0)

尝试使用

<a onclick="submit();">Sign In</a>

<a href="javascript:submit();">Sign In</a>

答案 3 :(得分:0)

如果您需要将值输入到javascript函数,请确保使用单引号而不是双引号。

例如:

<a href="#" onclick="your_function('input');">Sign In</a>