javascript - 再说一遍:提交不是一个函数
问题描述
我的表单有以下代码:
<form name="myform" id='form' class="form" method='post' accept-charset='UTF-8' action="action.php">
<div>
<input type='submit' id="sendbtn" value='Hello' class="loginbutton">
</div>
</form>
在我的 Javascript 中,我有一个表单检查器——如果检查成功——应该提交表单。但是 - 这不起作用。
javascript是:
const sendit = document.getElementById("sendbtn");
function showSuccess(input){
const formControl = input.parentElement;
formControl.className = 'form-control success';
sendit.submit();
}
该代码引发错误:
Uncaught TypeError: sendit.submit is not a function
因为我已经了解到名为“submit”的名称或 ID 会覆盖提交函数,所以我检查了我的代码中“submit”的用法。但是除了“提交”类型的 addEventListener 之外,php 或 javascript 中根本没有其他用途。
这里可能是什么问题?
解决方案
您指向的是input
,而不是form
,它将提交表单的元素。
const sendit = document.getElementById("form");
您提交表单的函数必须指向表单 id form
。您指向一个没有提交事件的按钮。
推荐阅读
- javascript - 使用 href 和 javascript 抛出错误在 facebook 上共享页面
- python - TypeError:'function'和'int'的实例之间不支持'>'?
- mysql - 图片上传在模拟器上工作,但在 React-Native 中的真实设备上不工作
- php - 我的 php 代码不使用数据库检查数据
- r - 有没有办法基于 R 中另一个数据框中的共享值来构建成对数据框?
- asp.net-core - NLog 目标数据库在 ASP NET Core 2.2 MVC 中不起作用
- javascript - 如何在客户端使用来自服务器端的数据?
- sql - 从 Databricks 到 SQL 服务器的 JDBC 连接
- python - 如何在 Google Cloud Functions 上运行 cython 的共享库?
- visual-studio-code - 在启动或新窗口时自动打开终端