为什么Jquery submit()失败并出现错误?

时间:2009-07-07 09:40:00

标签: jquery forms submit

我在页面上有一个简单的表单,我想在发生某些事件时自动提交它。

下面的测试代码尝试在页面加载后立即提交表单,但它失败了。 Firebug说“H [G]不是函数”。 H [G]似乎是“提交”。

我做的事情显然很愚蠢吗?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <title>test</title>
</head>
<body>
    <form action="/test.php" method="post" id="packingform">
        <input name="bob" value="1" type="text" />
        <input type="submit" name="submit" value="hello" />
    </form>
    <script type="text/javascript" src="/js/jquery.js"></script>
    <script type="text/javascript">
    // <![CDATA[
    $(document).ready(function() 
    {
        // This line fails with an error and the form is not submitted
        $("#packingform").submit();
    }
    );
    // ]]>
    </script>
</body>
</html>

5 个答案:

答案 0 :(得分:10)

知道了。

事实证明,如果表单中有一个命名提交按钮,则submit()将失败。以下是有关jquery的错误报告的链接:http://dev.jquery.com/ticket/4652

解决方案是将<input type="submit" name="submit" value="hello" />更改为<input type="submit" value="hello" />

我希望这有助于其他人...

答案 1 :(得分:0)

问题似乎与Firefox上的action="/test.php"有关,因为它适用于Chrome和IE

尝试将其更改为action="test.php",然后重试。

答案 2 :(得分:0)

我的猜测是你的jQuery.js文件有问题。也许尝试使用从jQuery website下载的新副本替换jQuery.js文件。

答案 3 :(得分:0)

嗨,这确实很有帮助,我浪费了大约16个小时看看发生了什么,解决方案是更改提交按钮的名称 感谢

答案 4 :(得分:0)

我遇到了类似问题而我的提交按钮没有“名称”,只有“id”。

无论如何这解决了我的问题:

$("#submitButton").click();