Jin*_*ong 248 html javascript dom submit
谁能告诉我这段代码出了什么问题?我尝试使用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>
Run Code Online (Sandbox Code Playgroud)
我也试过这个:
<script type="text/javascript">
function submitAction()
{
document.forms["frmProduct"].submit();
}
</script>
Run Code Online (Sandbox Code Playgroud)
两个都显示我同样的错误:(
epa*_*llo 693
提交不是一个功能
表示您将提交按钮或其他元素命名submit.将按钮重命名为btnSubmit,您的通话将神奇地工作.
当您将按钮命名为submit时,将覆盖submit()表单上的函数.
Cha*_*ant 11
<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>
Run Code Online (Sandbox Code Playgroud)
编辑:我不小心换了身份证
如果您没有机会进行更改,name="submit"您也可以通过以下方式提交表单:
function submitForm(form) {
var submitFormFunction = Object.getPrototypeOf(form).submit;
submitFormFunction.call(form);
}
Run Code Online (Sandbox Code Playgroud)
form.submit()如果表单没有<button type="submit">submit</button>. form元素属于HTMLFormElement接口,因此,我们可以直接从原型调用,该方法始终适用于任何表单元素。
HTMLFormElement.prototype.submit.call(form)
Run Code Online (Sandbox Code Playgroud)
小智 5
当我使用母版页创建MVC应用程序时,我遇到了同样的问题.尝试使用"提交"作为上面提到的名称寻找元素但事实并非如此.
对于我的情况,它在我的页面上创建了多个标签,因此有一些问题引用了正确的表单.
要解决这个问题,我会让按钮处理要使用的表单对象:
onclick="return SubmitForm(this.form)"
Run Code Online (Sandbox Code Playgroud)
和js:
function SubmitForm(frm) {
frm.submit();
}
Run Code Online (Sandbox Code Playgroud)