<script language="JavaScript">
function asd(){alert("asd");document.getElementById("io").onclick=zxc()}
function qwe(){alert("qwe")}
function zxc(){alert("zxc")}
</script>
<html>
<body>
<form action="sd.html" onSubmit="qwe()">
<input type="button" onClick="asd();return false" id="io">
</form>
</body>
</html>这样就不会提交了

解决方案 »

  1.   

    问题在这里: document.getElementById("io").onclick=zxc()<input type="submit" onClick="asd();return false" id="io">中的onClick="asd();return false"  return false 还没执行,就被你替换了!
      

  2.   

    return false 还没执行,就被你替换了,这话有问题。尽管被替换了,但第一次执行onclick时,总要执行return false吧?也就是说,第一次onClick()的返回值应是false。若是按lienzhu(李强)先生所说,那为什麽onClick的值换成字符串,就不提交了?我知道怎样做就不提交了,我只是对这程序的运行过程不懂,所以才提问,谢谢了。有谁能解答?