在更正失败的验证后,jQuery表单不会提交

jsd*_*ude 5 javascript forms validation jquery

我有一个简单的表格,询问您是否确定要提交.

$(document).ready(function(){
  $("form#myform").on('submit', function(e)
  {
      if (!confirm('Are you sure?')){
        e.preventDefault();
      }
      else {
        console.log("submitting...");
      }
   });
});
Run Code Online (Sandbox Code Playgroud)

提交表单,点击"确定"到"你确定"提示,表单提交就好了.

- 刷新页面,清理平板 -

提交表单,点击取消"你确定"提示.表格未按预期提交.再次提交表单,点击"确定"到"你确定"的提示,表单仍然没有提交,"提交..."会被记录到控制台.从这一点开始,表单将永远不会提交,直到我刷新页面并第一次点击提示"确定".

如果我交换

e.preventDefault();

返回false;

没有任何变化,完全相同的行为

我完全难过了.我究竟做错了什么?

编辑:这是一个jsFiddle链接https://jsfiddle.net/8ac3Lgzg/.该小提琴中的HTML和JavaScript与我项目中的代码完全相同/完全相同.我在上面描述的问题在jsFiddle运行时不会发生,但在我的项目中运行.

dot*_*yak -2

尝试这种方式

function SendForm(){
    if (!confirm('Are you sure?')){
        return false;
    }
    else {
        console.log("submitting...");
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

将函数 sendForm 放在提交按钮中,如下所示

<input type="submit" value="submit" onclick="return SendForm();" />
Run Code Online (Sandbox Code Playgroud)

显然不会在控制台上显示任何内容,因为当您提交表单时,浏览器会重新加载