首页 > 解决方案 > 再说一遍:提交不是一个函数

问题描述

我的表单有以下代码:

<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 中根本没有其他用途。

这里可能是什么问题?

标签: javascriptphp

解决方案


您指向的是input,而不是form,它将提交表单的元素。

const sendit = document.getElementById("form");

您提交表单的函数必须指向表单 id form。您指向一个没有提交事件的按钮。


推荐阅读