与preventDefault相反

时间:2013-05-27 19:57:35

标签: javascript jquery

当条件为真时,我需要重新打开默认值。因为我在提交按钮的onclick中使用条件我不能将preventDefault放在其中,因为它会在我点击它之后阻止它并且没有用。

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

因此,在这种情况下,它必须在第一次点击时提醒成功,然后继续到表单页面。

HTML:

<form id="formName">
    <input type="submit" id="submitBtn" value="Submit" />
</form>

JS:

var a = 1;  
$("#formName").submit(function(e){
    e.preventDefault();
        $(document).on("click", "#submitBtn", function () {
                if(a != 1){
                    alert("Fail!");
                }
                else{
                    alert("Success");
                    return true;
                }
        });
    });

演示:http://jsfiddle.net/Z9Zwz/

2 个答案:

答案 0 :(得分:0)

防止默认提交比imo更难。 我在浏览器/平台上遇到了一些问题。

我最终决定删除提交按钮并使用JQuery ajax提交表单,您似乎正在使用它。虽然硬编码表单上提交返回false。 这应该会更容易。

答案 1 :(得分:0)

问题是浏览器只能在用户点击提交按钮时提交表单。您无法从JavaScript方面 sensu stricto 提交表单。你可以通过AJAX模仿这个(我强烈建议)。

如果是其他事件,我建议用div包裹一个按钮,绑定到click上的div,然后再手动触发该事件。

P.S。不要在事件处理程序中添加事件处理程序。您正在堆叠事件处理程序。