首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将jQuery .one()函数与验证结合使用

将jQuery .one()函数与验证结合使用
EN

Stack Overflow用户
提问于 2013-03-01 04:04:11
回答 1查看 39关注 0票数 0

我正在开发一个忘记用户名的函数,它是一个使用twitter bootstrap的模式。当单击Submit按钮时,我需要运行一些验证,如果验证通过,请确保脚本的其余部分只执行一次。

我熟悉.one()函数,并曾尝试在if(isValid)部分中使用$(this).one('click', function(),但没有成功。我还在验证检查后添加了.addClass("disabled");,但没有成功。

以下是javascript代码块的简化版本:

代码语言:javascript
复制
$('#btnForgotUsername').live('click', function (e) {

    // Clear the error div of any previous errors    
    $('#vsForgotUsername').hide().empty();

    var isValid = true;

    // Must Enter Email Address
    var emailEntered = $('#txtEmailAddress').val();
    if (!$.trim(emailEntered).length) {
        $('#vsForgotUsername').append('Email address required');
        isValid = false;
    }
    else {
        // If Email Entered verify that it is a valid email address
        if (!validateEmail(emailEntered)) {
            $('#vsForgotUsername').append('Enter valid email address.');
            isValid = false;
        }
    }

    if (isValid) {
        $('#btnForgotUsername').addClass("disabled");

        var proxy = new serviceProxy('/Login.aspx/', { async: true });
        proxy.invoke
        (
            'forgotUser',
            {
                emailAddress: $('#txtEmailAddress').val()
            },
            function (result) {
                if (result.d == true) {
                    $('#pnlForgotUsername, #btnForgotUsername').hide();
                    $('#pnlForgotUsernameSuccess').fadeIn();
                    return;
                }
                else {
                    $('#btnForgotUsername').removeClass("disabled");
                    $('#vsForgotUsername').fadeIn().append("We do not have a record with that email address.");
                }
            },
            function (jqXHR, textStatus, errorThrown) {
            },
            null
        );
    }
    else {
        $('#vsForgotUsername').fadeIn();
    }
});

有人能帮我找到一种方法来完成验证,并且如果验证= true,只执行一次ajax吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-01 04:18:09

嗯。老实说,我不完全清楚你需要什么,但尝试明确地设置按钮的属性(我假设它是一个按钮)。

代码语言:javascript
复制
       $('#btnForgotUsername').prop('disabled', true);

此外,我会添加一个.data到成功,然后只是测试它的ie。

代码语言:javascript
复制
$("body").data("ajaxSuccess", "true");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15144628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档