jquery .submit();

Posted

技术标签:

【中文标题】jquery .submit();【英文标题】: 【发布时间】:2012-12-06 18:56:09 【问题描述】:

由于 Instamapper 即将关闭,而我正在做这个项目,我试图到达月球,计算我走了多少公里,我试图制作我的网络应用程序,我可以使用它来代替。除了我想每 5 秒自动提交一次带有数据的表单外,我一切正常。我尝试使用 .submit() 但它不起作用。

编辑: submit() 函数不起作用,这是来自控制台的错误:

未捕获的类型错误:对象# 的属性“提交”是 不是函数

代码如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"     type="text/javascript"></script>
    <script type="text/javascript">
    $(document).ready(function()
    setTimeout(function()
        $('form#target').submit();
    , 5000);
    );
    </script>
<?php
if(isset($_POST['submit'])) 
    echo 'works';

$device = 'vPhone';
$date = new DateTime();
$timest = $date->getTimestamp();
?>
</head>

<body>
<form action="" method="post" id="target">
<input type="text" value="<?=$timest?>" name="timestamp" />
<input type="text" value="<?=$device?>" name="device" />
<input type="submit" name="submit" id="submit" />
</form>
<script>
var x=document.getElementById("target");
  if (navigator.geolocation)
    
    navigator.geolocation.getCurrentPosition(showPosition);
     else x.innerHTML="Geolocation is not supported by this browser.";
  function showPosition(position)
    
      x.innerHTML += "<input type='text' name='lat' value='" + position.coords.latitude + 
  "' disable><br> <input type='text' name='lat' value='" + position.coords.longitude + "'     disable> "; 
</script>
</body>
</html>

【问题讨论】:

请定义“不工作”。发生了什么,控制台上是否有错误等。 提交无效。来自控制台的错误是: Uncaught TypeError: Property 'submit' of object # is not a function 【参考方案1】:

name="submit" id="submit" 导致了这里的问题。将其更改为其他内容 - 真的,我使用了 name="notsubmit" id="notsubmit" - 你的表单会自动提交。

来源:http://api.jquery.com/submit/#comment-106178333

显然,这些属性以某种方式覆盖了 jQuery 提交函数,使其不再可访问。

【讨论】:

谢谢,它就像一个魅力。会记住这一点。再次感谢!【参考方案2】:

尝试在表单中添加操作

【讨论】:

仍然没有得到这个:Uncaught TypeError: Property 'submit' of object #&lt;HTMLFormElement&gt; is not a function jquery.min.js:3 f.event.trigger jquery.min.js:3 (anonymous function) jquery.min.js:3 e.extend.each jquery.min.js:2 e.fn.e.each jquery.min.js:2 f.fn.extend.trigger jquery.min.js:3 f.fn.(anonymous function) jquery.min.js:3 (anonymous function) 所以出现错误,尝试将提交按钮的名称和 id 更改为其他内容

以上是关于jquery .submit();的主要内容,如果未能解决你的问题,请参考以下文章

慎用jQuery中的submit()方法

jquery submit和ajax提交表单的区别

jquery .submit();

我在表单上使用 jquery .validate() 后 jQuery .submit() 不起作用

使用 .submit() 事件处理程序通过 JQuery 循环表单字段

jquery submit() 提交失败