js的onsubmit阻止不了jquery的submit事件么

<form onsubmit='console.log(11);return false;'>
    <input type="submit">
</form>
<script>
$("form").submit(function(){
console.log(22);
})
</script>

这样会输出11和22,$("form")的submit放在了公共了暂时不能直接删了这代码,怎样才能只输出11呢?

阅读 3.1k
2 个回答

搞定。。

<form onsubmit='console.log(11);return false;'>
    <input type="submit">
</form>
<script>
$("form").submit(function(){
var onsubmit = $(this).attr('onsubmit');
if(typeof onsubmit != 'undefined'){
    var tempFn = '(function a(){' + onsubmit + '})();',
        tempFnRs = eval(tempFn);

    if(tempFnRs == false){
        return false;
    }
}
console.log('22');

})

这样可以阻止jquery后续的代码,然后再在onsubmit执行的代码里加个flag判断,让onsubmit里的alert什么的弹出框只执行一次即可,如if(!window.flag){alert('err');window.flag = true;} return false;

<form onsubmit='return post();'>

<input type="submit" value="提交">

</form>
<script>
function post()
{

console.log(1000);
return false;

}
</script>

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题