我在页面上有一个简单的表单,我想在发生某些事件时自动提交它。
下面的测试代码尝试在页面加载后立即提交表单,但它失败了。 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>
答案 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();