日期:2014-05-16  浏览次数:20315 次

这个表单为什么提交无效?
<div id="L1"><input type="submit" value="提交" onclick="Create()" /></div>
<script language="JavaScript" type="text/javascript">
function Create(){
document.getElementById("L1").innerHTML="请稍候…";//注释掉这句就能正常提交
};
</script>
如上,取消onclick="Create()"就能正常提交。我想提交后隐藏提交按钮,执行onclick="Create()"可以隐藏按钮,显示"请稍候…",但是表单就不提交了!
原因何在?

------解决方案--------------------
元素在点击时会先触发onclick事件,然后执行默认动作(比如submit按钮会提交表单)和事件冒泡到父级元素。但当执行onclick事件时遇到“自杀”行为,就不能再传事件到父级元素了。其实要实现你这功能方法很多,一是延时自杀,或者:
<form action="#" onsubmit="Create()">
    <div id="L1"><input type="submit" value="提交" /></div>
</form>
<script type="text/javascript">
    function Create(){
        document.getElementById("L1").innerHTML="请稍候…";
        //如果加上return将会做到更多事件
    }
</script>