Javascript 违约的反面

Javascript 违约的反面,javascript,jquery,Javascript,Jquery,当我的条件为真时,我需要重新启用默认值。因为我在一次点击submit按钮时使用了这个条件,所以我不能将preventDefault放在它里面,因为它会在我点击它之后阻止它,而这是没有用的 因此,当条件为真时,我需要它来恢复表单操作。同样在onclick中,我需要它第一次做出反应,现在只有一次,每次单击它时+1 因此,在这种情况下,它必须在第一次单击时发出成功警报,然后继续到表单页面 HTML: 演示:阻止默认提交比imo应该做的更难。 我在跨浏览器/平台时遇到了几个问题 我最终决定删除submi

当我的条件为真时,我需要重新启用默认值。因为我在一次点击submit按钮时使用了这个条件,所以我不能将preventDefault放在它里面,因为它会在我点击它之后阻止它,而这是没有用的

因此,当条件为真时,我需要它来恢复表单操作。同样在onclick中,我需要它第一次做出反应,现在只有一次,每次单击它时+1

因此,在这种情况下,它必须在第一次单击时发出成功警报,然后继续到表单页面

HTML:


演示:

阻止默认提交比imo应该做的更难。 我在跨浏览器/平台时遇到了几个问题

我最终决定删除submit按钮,并使用jQueryAjax提交表单,您似乎正在使用它。在Submit上硬编码表单以返回false时。
这应该会让它更容易。

问题是,只有当用户单击提交按钮时,浏览器才能提交表单。您不能从JavaScript端严格提交表单。不过,您可以通过AJAX来模拟这一点(我强烈建议)

如果是其他事件,我建议用
div
包装一个按钮,绑定到
单击
div
上的
,然后稍后手动触发该事件


注意:不要在事件处理程序中添加事件处理程序。您正在堆叠事件处理程序。

而且,这些都没有回答我的问题。如果没有onclick,我只会在If语句中使用带有false条件的preventDefault。但在这种情况下,这对我不起作用。@Xegano请同时显示click处理程序函数。我假设这是某种形式的验证?我添加了一个JSFIDLE。以前忘了加了
<form id="formName">
    <input type="submit" id="submitBtn" value="Submit" />
</form>
var a = 1;  
$("#formName").submit(function(e){
    e.preventDefault();
        $(document).on("click", "#submitBtn", function () {
                if(a != 1){
                    alert("Fail!");
                }
                else{
                    alert("Success");
                    return true;
                }
        });
    });