有人能告诉我这段代码出了什么问题吗?我试图用JavaScript提交一个表单,但是一个错误”。提交不是一个函数”。查看下面的代码的更多细节:

<form action="product.php" method="get" name="frmProduct" id="frmProduct" enctype="multipart/form-data">

<input onclick="submitAction()" id="submit_value" type="button" name="submit_value" value="">

</form>

<script type="text/javascript">
    function submitAction()
    {
        document.frmProduct.submit();
    }
</script>

我还试过这个:

<script type="text/javascript">
    function submitAction()
    {
        document.forms["frmProduct"].submit();
    }
</script>

两者都显示了相同的错误:(


当前回答

Submit不是一个函数

表示将提交按钮或其他元素命名为submit。将按钮重命名为btnSubmit,您的调用将神奇地工作。

当将按钮命名为submit时,将重写表单上的submit()函数。

其他回答

使用getElementById:

document.getElementById ('frmProduct').submit ()

Submit不是一个函数

表示将提交按钮或其他元素命名为submit。将按钮重命名为btnSubmit,您的调用将神奇地工作。

当将按钮命名为submit时,将重写表单上的submit()函数。

你可以试试

<form action="product.php" method="get" name="frmProduct" id="frmProduct" enctype="multipart/form-data">

<input onclick="submitAction(this)" id="submit_value" type="button" name="submit_value" value="">

</form>

<script type="text/javascript">
function submitAction(element)
{
    element.form.submit();
}
</script>

你不是有不止一份同名的表格吗?

〇解决方案 1.确保没有任何其他名称/id作为提交的元素。 2.尝试调用函数onClick = "return submitAction();" 3. . getelementbyid(“表单名称”)。submit ();

这个话题已经有很多答案了,但对我来说,最好的一个(也是最简单的——一行!)是对尼尔·e·皮尔森在2013年4月21日发表的评论的修改:

如果你的提交按钮是#submit,你可以通过窃取另一个表单实例的submit()方法来解决这个问题。

我对他的方法进行了修改,哪些对我有效:

文档字符串文字(“表单”)提交。call(文档getElementById (frmProduct));