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

链接(A标签)的onclick事件触发表单提交操作后不跳转页面的有关问题
问题如下:
<form id="form" name="form" method="POST" action="form.html">
<a href="http://www.baidu.com" onClick="document.getElementById('form').submit()">提交</a>

<a href="javascript:document.getElementById('form').submit()" onClick="this.href='http://www.baidu.com'">提交1</a>



两种方法都试过了。为何只能执一个动作呢,要么执行提交了要么执行打开了页面,

有没有哪一种方法可以点击时同时执行提交和打开链接的方法,不知道大家没有遇到这种情况.

------解决方案--------------------

<script type="text/javascript">
function formSubmit(){
alert('a');
}
</script>

<a href="http://www.baidu.com" onClick="formSubmit()">提交</a>

IE6和google浏览器下都会先执行alert('a');然后在打开百度页面。
------解决方案--------------------
<a href="javascript:document.getElementById('form').submit()" onClick="this.href='http://www.baidu.com'">提交1</a>
在a标签中先运行onclick然后运行href,在你这种写法里其实与<a href="http://www.baidu.com" onClick="">提交1</a>是一个意思。
其实你提交了表单就不能再转链接,转了链接就不能提交表单,如果非要解决这问题你必须用新开窗口打开链接,而本窗口用来提交表单才行!
<a href="javascript:alert('b')" onClick="alert('a')">提交</a>这是例外情况alert()本窗口可无限次执行。
<form id="form" name="form" method="POST" action="form.html">
    <a href="javascript:void(0)" onClick="fun()">提交</a>
</form>
<script type="text/javascript">
    function fun(){
        window.open("http://www.baidu.com","win");
        document.getElementById('form').submit();        
    }
</script>