<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()"可以隐藏按钮,显示"请稍候…",但是表单就不提交了!
原因何在?

解决方案 »

  1.   

    document.getElementById("L1").innerHTML="请稍候…";//注释掉这句就能正常提交,这句js应该有问题,你可以把div换成label试试。
      

  2.   

    元素在点击时会先触发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>