Javascript 如何使用JS提交表单

Javascript 如何使用JS提交表单,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,可能重复: 我正在尝试使用JS提交表单,但运气不好 问题是为什么它不工作?您使用jQuery代码$function,但不包括jQuery源代码。您使用jQuery代码$function,但不包括jQuery源代码。如果这是您编写的确切代码,那么我认为您没有在页面中包括jQuery库 在使用$myform表示法之前,需要包含jQuery文件 还要指定要将页面提交到的某个操作URL?如果这是您编写的确切代码,那么我认为您没有在页面中包含jQuery库 在使用$myform表示法之前,需要包含jQu

可能重复:

我正在尝试使用JS提交表单,但运气不好


问题是为什么它不工作?

您使用jQuery代码$function,但不包括jQuery源代码。

您使用jQuery代码$function,但不包括jQuery源代码。

如果这是您编写的确切代码,那么我认为您没有在页面中包括jQuery库

在使用$myform表示法之前,需要包含jQuery文件


还要指定要将页面提交到的某个操作URL?

如果这是您编写的确切代码,那么我认为您没有在页面中包含jQuery库

在使用$myform表示法之前,需要包含jQuery文件


还要指定要将页面提交到的某个操作URL?

如果表单元素的id为submit,与表单方法submit冲突,请将submit按钮id更改为其他内容

您可以访问表单元素作为表单对象的属性,因此,如果您有一个表单,比如myForm,并且表单中有一个id为submit或名称为submit的输入,那么myForm.submit将是id为submit的输入元素,而不是原始的submit方法


请参见

如果表单元素的id submit与表单方法submit冲突,请将submit按钮id更改为其他内容

您可以访问表单元素作为表单对象的属性,因此,如果您有一个表单,比如myForm,并且表单中有一个id为submit或名称为submit的输入,那么myForm.submit将是id为submit的输入元素,而不是原始的submit方法


请参见

我已使用该解决方案修改了您的代码

缺少“提交”按钮的名称。并且不要使用名称作为submit的submit。它与JS so冲突

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript">
    function validate () {
        document.myform.submit();   
    }
    </script>
</head>
<body>
    <form id="myform" name="myform" method="post" action="">
        <input type="button" name="save" value="submit" id="submit" onclick="validate();" >
    </form>
</body>
</html>

我已经用这个解决方案修改了你的代码

缺少“提交”按钮的名称。并且不要使用名称作为submit的submit。它与JS so冲突

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript">
    function validate () {
        document.myform.submit();   
    }
    </script>
</head>
<body>
    <form id="myform" name="myform" method="post" action="">
        <input type="button" name="save" value="submit" id="submit" onclick="validate();" >
    </form>
</body>
</html>

控制台中的错误是

Uncaught TypeError: Property 'submit' of object #<HTMLFormElement> is not a function 

问题是您通过命名元素submit劫持了sumit函数。将按钮id更改为btnSubmit。

控制台中的错误为

Uncaught TypeError: Property 'submit' of object #<HTMLFormElement> is not a function 

问题是您通过命名元素submit劫持了sumit函数。将按钮id更改为btnSubmit。

什么是不工作?页面上是否有错误?是否调用警报?什么不起作用?页面上是否有错误?是否调用了警报?我已发布了指向JSFIDLE的链接,请查看。我已发布了指向JSFIDLE的链接,请查看。这不起作用。jQuery代码没有任何问题。这不起作用。jQuery代码没有问题。太棒了!!!这就是问题所在,但是ID是submit,那怎么能劫持JS的submit功能呢?做一个console.logdocument.forms[0]。submit;您将看到元素被引用而不是提交。id将取代名称。这就是为什么会出现错误。永远不要用id或名称命名元素的提交。太好了!!!这就是问题所在,但是ID是submit,那怎么能劫持JS的submit功能呢?做一个console.logdocument.forms[0]。submit;您将看到元素被引用而不是提交。id将取代名称。这就是为什么会出现错误。从不使用id或名称命名元素的submit。这意味着,我们不应该为任何JS函数命名id,这似乎很奇怪。一个是ID,另一个是function。@Dev您可以访问表单元素作为表单对象的属性,因此,如果您有一个表单,比如说myForm,并且表单中有一个ID或名称为submit的输入,那么myForm.submit将是ID为submit的输入元素,而不是原始的submit方法。这意味着,我们不应该为任何JS函数命名ID,这似乎很奇怪。一个是ID,另一个是function。@Dev您可以将表单元素作为表单对象的属性来访问,因此,如果您有一个表单,比如说myForm,并且表单中有一个ID或名称为submit的输入,那么myForm.submit将是ID为submit的输入元素,而不是原始的submit方法。