有人能告诉我这段代码出了什么问题吗?我试图用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>

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


当前回答

事实上,解决方法很简单……

原:

    <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>

解决方案:

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

<!-- Place the button here -->
<input onclick="submitAction()" id="submit_value" type="button" 
    name="submit_value" value="">

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

其他回答

给表单元素一个名称submit将简单地掩盖submit属性。 确保表单元素中没有名称为submit的元素,这样就可以很好地访问submit函数。

我有同样的问题,当我创建一个MVC应用程序使用母版页。 尝试寻找元素与“提交”作为名称如上所述,但它不是这样的。

对于我的情况,它在我的页面上创建了多个标签,因此引用正确的表单存在一些问题。

为了解决这个问题,我将让按钮处理要使用的表单对象:

onclick="return SubmitForm(this.form)"

用js:

function SubmitForm(frm) {
    frm.submit();
}

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

你应该使用下面的代码: 美元(文档)。On ("ready", function () { document.frmProduct.submit (); });

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

<input id="submit_value" type="button" name="submit_value" value="">

</form>

<script type="text/javascript">

document.getElementById("submit_value").onclick = submitAction;

function submitAction()
{
    document.getElementById("frmProduct").submit();
    return false;
}
</script>

编辑:我不小心交换了周围的id