使用Javascript提交表单会引发TypeError

时间:2012-11-16 08:22:43

标签: javascript html

我有这个非常令人沮丧的问题。我想提交一个带有Javascript的表单,无论我尝试什么,我总是得到Uncaught exception: TypeError: Cannot convert 'document.getElementById('loginForm')' to object

我已经盯着这段代码了一段时间,我真的无法理解。我确信这很简单,但我看不到解决方案。

这是我的代码:

<form method="post" action="do.php?a=signin" id="loginForm">
  <input name="usr" class="test" placeholder="Användarnamn" type="text" />
  <input name="pwd" class="test" placeholder="Lösenord" type="password" />
</form>

<span class="test"><a href="fblogin.php"><img src="gfx/ico/fb.jpg" alt="" /> Logga in via Facebook</a></span>
<span class="test"><a href="javascript: doLogin();"><img src="gfx/ico/Unlock.gif" alt="" /> Logga in &#0187;</a></span>

<script type="text/javascript">
    function doLogin() {
        document.getElementById('loginForm').submit();
    }
</script>

我错过了什么!?

2 个答案:

答案 0 :(得分:0)

首先,您必须将名称属性添加到表单

  <form name="loginForm" ...>

然后在下面申请。

 document.forms["loginForm"].submit();

OR

 document.loginForm.submit();

提示:

  

您不能使用名为submit的按钮并使用submit()。该   按钮覆盖该方法。将按钮重命名为其他内容   它会起作用。

答案 1 :(得分:0)

解决方案是我在代码中不小心输入了另一个<form>。我删除它,现在它就像一个魅力!