以下在Firefox和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>
答案 0 :(得分:7)
你能提供更多的背景吗?例如submit
函数的定义位置和方式?如上所述,它应该工作 - 除了:
你可能还希望return false;
在那里取消默认操作。 E.g:
<a href="javascript:void(0);" onclick="submit();return false;">Sign In</a>
默认操作可能会在submit
之后立即发生,并会干扰它。
修改:只是为了适应和咯咯笑,请尝试为submit
功能使用其他名称。 IE有命名空间问题。例如,如果您将id
或name
属性设置为“提交”,则可能存在问题......
答案 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>