在表单中调用递归javascript

在表单中调用递归javascript,javascript,html,forms,setinterval,Javascript,Html,Forms,Setinterval,我有这个问题。我试图使用javascript中的setTimeout函数创建一个按钮“单击它自己”。我需要这一小段代码来运行,以便能够模拟刷新。问题是,因为我调用刷新的按钮位于表单标记中,所以此操作只发生一次,而不是不断重复。这是我的javascript <script language="javascript" type="text/javascript"> function ClickMe(){ setInterval('document.getElementB

我有这个问题。我试图使用javascript中的setTimeout函数创建一个按钮“单击它自己”。我需要这一小段代码来运行,以便能够模拟刷新。问题是,因为我调用刷新的按钮位于表单标记中,所以此操作只发生一次,而不是不断重复。这是我的javascript

<script language="javascript" type="text/javascript">

function ClickMe(){
        setInterval('document.getElementById("auto").click()',5000);
        alert("Function works");
 }

</script>

函数ClickMe(){
setInterval('document.getElementById(“自动”).click()',5000);
警报(“功能正常”);
}
这是我调用它的元素

<form>
  <input id="auto" type="submit" value="Click" onClick="ClickMe()" />   
</form>


如果删除“
”标记,则代码会通过每5秒钟一次又一次地调用自身来正常运行。Byt一旦添加“
”标记,该函数只调用一次。如果有人能帮我,我将非常感激。谢谢

无论出于何种原因,只要将提交更改为如下按钮:

<input id="auto" type="button" value="Click" onClick="ClickMe()" />


另外,您应该注意,每次运行时,您都会为此创建越来越多的间隔。

当您使用表单包装输入时,表单将被提交,您可以通过在ClickMe函数中返回
false来避免这种情况

function ClickMe(){
    setInterval('document.getElementById("auto").click()',5000);
    alert("Function works");
    return false;
}

因为
已经提交,页面会刷新,所以刷新脚本(以前的
setInterval()
,用外行的话说就是:“忘记了”),这是一个简单的问题-为什么要这样做?你可以在表单外保留另一个按钮..实际上,我正在groovy和grails中处理一个项目,当我使用/,我也面临着类似的问题。我试图做的是在点击一次按钮后,一次又一次地更新页面的一部分,作为实现动态显示的一种方式。更新工作正常,但现在我必须找到一种自动刷新页面部分的方法。似乎主要问题在于您建议的输入类型。我想问一下,有没有一种方法可以通过“提交”按钮来完成这项工作?