【问题标题】:jQuery form doesn't submit after correcting failing validation更正失败的验证后,jQuery 表单不提交
【发布时间】:2015-07-19 12:37:46
【问题描述】:

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

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

提交表单,点击“确定”到“你确定”提示,表单提交就好了。

--刷新页面,清空--

提交表单,点击取消以显示“您确定”提示。表单未按预期提交。再次提交表单,点击“确定”到“你确定”提示,表单仍然没有提交,“正在提交...”被记录到控制台。从此时起,表单将永远不会提交,直到我刷新页面并在第一次提示时点击“确定”。

如果我换了

e.preventDefault();

返回假;

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

我完全被难住了。我做错了什么?

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

【问题讨论】:

  • 你能发布一个堆栈 sn-p 或 jsFiddle 来显示问题吗?
  • 你确定它没有提交吗?你检查过网络请求日志吗?这可能是后端问题。提供的代码似乎没有任何问题。
  • 您的提交按钮是否有名称submit
  • @atmd,OP 表示表单在第一次尝试时提交就好了。我认为这是一个后端状态问题。
  • @MaximKumpan 100% 确定它根本不提交。这不是后端问题。

标签: javascript jquery forms validation


【解决方案1】:

您的代码完美运行,这里有一个 jsFiddle 演示它。我从字面上复制和粘贴,一定有其他一些 javascript 影响您页面上某处的表单。

jsFiddle link below

http://jsfiddle.net/xbhvqvp7/1/

还可能值得检查浏览器网络日志以查看表单是否实际被提交

【讨论】:

  • 我在 OP 中发布了一个 jsFiddle,解释了在那里工作但在我的项目中没有的代码。根本没有提交表单(网络日志中没有任何内容)。但是,您对其他可能会弄乱它的 javascript 提出了一点意见,我现在正在调查。
【解决方案2】:

问题是由于我团队中的另一位开发人员编写的一段我不知道的代码,它附加到每个表单并缓存它的 onSubmit 处理程序结果。因为我的表单会在验证失败时返回 false,所以即使它通过了验证,该结果也会被缓存以供下次尝试提交。

不想破坏他的代码,我的解决方案是在我的表单中添加一个属性“no-cache”,然后我更新了他的方法来检查该属性。这解决了我的问题。

感谢所有帮助过的人,非常感谢!

【讨论】:

    【解决方案3】:

    试试这个方法

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

    将函数 sendForm 像这样放在提交按钮中

    <input type="submit" value="submit" onclick="return SendForm();" />
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多