<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
function onMouseDown()
{var x=document.getElementsByTagName("input");
x[3].src="zhuce_text.jpg";
}
</script>
</head><body>
<form id="zck">
<input type="image" src="dzt.png" onmousedown="onMouseDown()">
</form>
</body>
</html>我的本意是:点击按钮后,按钮的背景图片变成另外的图片
但是现在的实际情况是:点一下按钮,图片改变,再点一下,图片又变回原来的。再点再变,如此反复。。这到底是咋回事

解决方案 »

  1.   

    我是楼主,以上代码有点小错误
    我修改一下:
    function onMouseDown()
    {var x=document.getElementsByTagName("input");
    x[0].src="zhuce_text.jpg";
    }
      

  2.   

    表单中的image按钮相当于submit按钮,点击后就提交表单了。可以在onMouseDown()函数中加上return false;来阻止表单提交。function onMouseDown() {
        var x = document.getElementsByTagName("input");
        x[3].src = "zhuce_text.jpg";
        return false;
    }
      

  3.   

    哦。。要这样写才行。而且要绑定到onclick事件,因为点击鼠标后会触发onmousedown、onclick这两个事件。
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <script type="text/javascript">
    function onMouseDown() {
    var x=document.getElementsByTagName("input");
    x[0].src="zhuce_text.jpg";
    }
    </script>
    </head><body>
    <form id="zck">
    <input type="image" src="dzt.png" onclick="onMouseDown(); return false;">
    </form>
    </body>
    </html>
      

  4.   

    你外面加了 form 默认就提交了一次 所以 你把form去掉 就可以了