JavaScript 中的“提交不是函数”错误

新手上路,请多包涵

谁能告诉我这段代码出了什么问题?我尝试使用 JavaScript 提交表单,但显示错误“.submit 不是函数”。有关代码的更多详细信息,请参见下文:

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

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

原文由 Jin Yong 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 531
2 个回答

提交不是函数

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

当您将按钮命名为提交时,您会覆盖表单上的 submit() 函数。

原文由 epascarello 发布,翻译遵循 CC BY-SA 3.0 许可协议

我也遇到了这个问题,但我使用

const form = document.getElementById('create_user_form');

function onSubmit(event) {
  console.log(event.target[0].value);

  console.log(form.submit); // 👉️ input#submit

  // ✅ Works
  HTMLFormElement.prototype.submit.call(form);
}

form.addEventListener('submit', onSubmit);

即使访问表单元素上的提交属性指向提交输入元素而不是方法,我们仍然可以通过访问 HTMLFormElement 接口上的提交属性来提交表单。

原文由 Codertjay 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题