自定义JS表单提交不会停止onsubmit处理程序进行调试

时间:2015-08-10 09:42:44

标签: javascript html forms

我想在表单提交之前添加一些逻辑。当我点击提交按钮时,它的工作正常。但还有另一个按钮通过JavaScript提交表单,我的逻辑没有调用它。以下是可供参考的片段。

<form action="text" method="get">
     <input type="submit">
</form> 
<script>
    document.forms[0].onsubmit = function(){
        alert('hi');
    };
    //document.forms[0].submit();
</script>

当我手动点击提交按钮时,会发出警报。但在取消评论后,第二行document.forms[0].submit();没有任何结果。

对于解释此行为也很有帮助。据我所知,提交处理程序应该触发两种情况。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您需要停止默认操作,您可以使用event.preventDefault();

执行此操作
document.forms[0].onsubmit = function(event){
    event.preventDefault();
    alert('hi');
};

答案 1 :(得分:0)

改为使用click事件。

document.forms[0].getElementsByTagName('input')[0].click();