document.getElementById('form_name')。submit()无法正常工作

时间:2010-06-13 17:03:23

标签: php javascript html

好的,我会尝试尽我所能。

该网站不适用于IE6。如果它适用于IE8和Chrome,那将会很好,但这可以在以后完成。

该网站使用PHP格式。提交的表单位于另一个PHP文件中,该文件包含在DIV标记内的index.php中。

如果我单独打开表单,则提交工作正确,但是当我尝试在索引页面上提交时,Firefox错误控制台会说该文档未定义。表单代码通过PHP逐行回显。保存用户名和密码的文本字段,表单代码如下:

<form id="entrar" action="entrar.php" method="post" onsubmit="javascript:checkvalues();">
  <a href="javascript:document.getElementById('entrar').submit();">ENTRAR</a>
</form>

有什么大不了的?我在这里错过了什么?我知道这是非常愚蠢的事情,但我无法理解。

1 个答案:

答案 0 :(得分:3)

在jQuery回答之前。

<form id="entrar" action="entrar.php" method="post" onsubmit="javascript:checkvalues();">
  <a id="entrar-link" href="#">ENTRAR</a>
</form>

<script>
(function() {
var entrar = document.getElementById('entrar'),
link = document.getElementById('entrar-link');

link.onclick=function() {  entrar.submit() }

})();
</script>

底线不使用href来执行javascript。不引人注目地(在脚本元素中)。确保script位于标记之后,或者如果您计划将其置于头部,则在窗口加载/ dom准备好时调用该函数。

虽然老实说我不知道​​你为什么这么做:

<input type=submit value=go>

除非你出于某种奇怪的风格目的而这样做,否则如果你不确定如何正确地设置提交样式,你也可以使用input type=image