有人能告诉我这段代码出了什么问题吗?我试图用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>
两者都显示了相同的错误:(
我有同样的问题,当我创建一个MVC应用程序使用母版页。
尝试寻找元素与“提交”作为名称如上所述,但它不是这样的。
对于我的情况,它在我的页面上创建了多个标签,因此引用正确的表单存在一些问题。
为了解决这个问题,我将让按钮处理要使用的表单对象:
onclick="return SubmitForm(this.form)"
用js:
function SubmitForm(frm) {
frm.submit();
}
抱歉回答晚了,但对于那些仍然面临同样错误的人。消除此错误:
<form method="POST">
<input type="text"/>
<input type="submit" id="submit-form" value="Submit Form" style="display: none;"/>
</form>
<!-- Other element that will submit the form -->
<button onclick="submitTheForm()">Submit the form</button>
<script>
function submitTheForm(){
document.getElementById("submit-form").click();
}
</script>
解释:
javascript函数submitTheForm()正在访问提交输入元素并调用其上的click事件,从而导致表单提交。
这个解决方案是终身的,几乎100%兼容所有浏览器。