onclick函数有效但onsubmit没有

时间:2013-04-01 00:58:59

标签: javascript onclick onsubmit

我正在尝试制作一个提交按钮,当它被单击时,图像将移动,另一个按钮在单击时将重置图像。

如果我使用onclick函数执行此操作并且图像将移动且事情很好,但如果我将其与onsubmit函数一起使用,则它将无效。任何人都可以给我一个想法?

这就是我的剧本:

function catMoveRight()
{
    document.getElementById("cat").style.left=parseInt(document.getElementById("cat").style.left)+1+"px";
}

window.onload=function()
{
    catTimer = null;

    document.getElementById("start").onsubmit=function()
    {
        if(catTimer == null)
        {   
            catTimer = setInterval("catMoveRight()",1000);
        }

    }

}

这是我的HTML body

<img src="cat.jpg" id="cat" style=" position: absolute; left: 10px;"/><br/>
<form action=" " method="post" id="start">
    <input type="submit" value="Start" style="position: absolute; left: 10px; top: 220px;" />
</form>

1 个答案:

答案 0 :(得分:4)

确保取消表单提交的默认操作。一种方法是从事件处理程序返回false

document.getElementById("start").onsubmit = function()
{
    if(catTimer == null)
    {   
        catTimer = setInterval(catMoveRight, 1000);
    }
    return false;
};

此外,无需将字符串传递给setInterval。不要在没有必要的地方使用eval

示例: http://jsfiddle.net/QD3ev/1/