javascript - 如何阻止表单提交?

标签 javascript jquery

我有一个登录表单和一个验证码字段。我需要一个 javascript 源来检查此验证码输入,然后将发布数据发送到操作,但我的代码似乎是错误的,e.preventDefault 函数不起作用,因为验证码字段 true 或 false 发布数据仍然发送。请帮忙。

这是我的 javascript 函数:

$(document).ready(function () {
$("#signupform").submit(function (event) {        
    var captchacode = $("#captchatexbox").val();
    if (captchacode != "") {
        var url = "/Account/ValidateCaptcha?Code=" + captchacode;
        $.ajax({
            url: url,
            cache: false,
            success: function (data) {
                if (data == 0) {

                    alert("Invalid captcha");
                    event.preventDefault();
                    //Form post data still sent?
                }
            }
        });
    }
    else alert("Captcha not null");
   });
});

最佳答案

您需要将 event.preventDefault(); 向上移动,使其出现在 ajax 调用之前。

在 else block 中使用 $("#signupform").submit(); 以编程方式提交表单。

$(document).ready(function () {
$("#signupform").submit(function (event) {        
    event.preventDefault();
    var captchacode = $("#captchatexbox").val();
    if (captchacode != "") {
        var url = "/Account/ValidateCaptcha?Code=" + captchacode;
        $.ajax({
            url: url,
            cache: false,
            success: function (data) {
                if (data == 0) {
                    alert("Invalid captcha");
                    //Form post data still sent?
                } else {
                    $("#signupform").submit();
                }
            }
        });
    }
    else alert("Captcha not null");
   });
});

关于javascript - 如何阻止表单提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59762813/

相关文章:

php - 带图形绘制的股票市场(PHP Jquery 或任何)

Javascript/JQuery : How do I count the words separated with a comma?

php - 在单个浏览器中检查不同的浏览器兼容性

javascript - 带有加载屏幕的 Stripe Checkout API 上的模糊关闭回调

javascript - 如何让 jQuery 触发 native 自定义事件处理程序

javascript - 如何测试 Jest 中的包装器是否正确调用了skip?

javascript - 如何向已在 Javascript 中分配了数字的变量添加数字?

jquery - 用 jQuery 替换正确 div 中的 HTML

javascript - 无法使用全局变量作为 jQuery 函数的参数

为我们提供 Rubyish Javascript 的 Javascript 包装器?