如何使用JS提交表单

时间:2012-10-13 19:35:16

标签: javascript jquery html forms

  

可能重复:
  submit is not a function in javascript

我正在尝试使用JS提交表单,但没有运气。 Here is the code. JSFIDDLE

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript">
    function validate () {
        alert('start');        
        $('#myform').submit();
        alert('end');        
    }
    </script>
</head>
<body>
    <form id="myform" name="myform" method="post" action="">
        <input type="button" value="submit" id="submit" onclick="validate();" >
    </form>
</body>
</html>

问题是“为什么它不起作用?”。

5 个答案:

答案 0 :(得分:10)

您有一个标识为submit的表单元素与表单方法submit冲突,请将提交按钮ID更改为其他内容。

你可以访问表单元素作为表单对象的属性,所以如果你有一个表单说myForm和一个带有id或name的表单中的输入,那么myForm.submit将是id提交的输入元素而不是原始的提交方法。

请参阅http://jsfiddle.net/4kg8c/1/

答案 1 :(得分:3)

控制台中的错误是

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

问题是您通过命名元素提交来劫持sumit()函数。将按钮的ID更改为btnSubmit。

答案 2 :(得分:1)

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

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

<!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>

答案 3 :(得分:0)

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

您需要先包含jQuery文件,然后才能使用$("#myform")表示法。

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

答案 4 :(得分:-1)

您使用jQuery代码($函数),但不包含jQuery源代码。