【问题标题】:How to set false to ASP Button if Ajax result is success?如果 Ajax 结果成功,如何将 ASP Button 设置为 false?
【发布时间】:2017-03-30 11:07:00
【问题描述】:

当用户单击按钮时,我正在调用 Ajax。当调用 ajax 时,它会用文本框检查文本框值是否已经存在。如果存在,则不应该return false,如果在数据库中没有找到记录,jquery按钮应该return true让它通过服务器端保存到数据库中。 p>

注意:

我的 Ajax 代码正在运行。但是当我存在并设置return false时,此语句不会执行。

这是我的代码:

$('#btnSaveFile').click(function () {
    var fileNames = $('#txtFileName').val();
    var flags = 'test';
    alert('test='+flags);
    $.ajax({
        url: 'ReportTotalSalesPivot.aspx/getFileExistOrNot',
        method: 'post',
        async:false,
        contentType: 'application/json',
        data: '{fileName:"' + fileNames + '",reportName:"TotalSales"}',
        dataType: 'json',
        success: function (data) {
            if (data.d === 'dataExist') {

                 // it execute this loop, but after it execute it's going to server

                $('#lblSaveErrorMsg').text('This filename already exist. Please change the name');
                return false;

            }
            else {
                return true;
            }
        },
        error: function (error) {
            alert('Please Call Administrator');                
        }
    });        
});

【问题讨论】:

  • 使请求同步
  • @SankarRaj 你能给我更多信息吗?
  • 在你的ajax请求中设置async:false
  • @SankarRaj 我照你说的做了。还是一样。请再次检查我的代码。我现在将更新我的代码
  • 不是async:'false' 只是async : false,

标签: javascript jquery asp.net ajax winforms


【解决方案1】:

我自己找到了结果。

Ajax 是异步的。当结果是success时,我们不能做return false

所以我在 ajax 之外声明了一个变量,并且在成功的特定条件下,我在 ajax 代码之外设置了 return false

这是我的 Jquery 代码

    $('#btnSaveFile').click(function () {
    var fileNames = $('#txtFileName').val();
    var flag = 'returnTrue';
    $.ajax({
        url: 'ReportTotalSalesPivot.aspx/getFileExistOrNot',
        method: 'post',
        async: false,
        contentType: 'application/json',
        data: '{fileName:"' + fileNames + '",reportName:"TotalSales"}',
        dataType: 'json',
        success: function (data) {
            if (data.d === 'dataExist') {
                flag = 'returnFalse';
                $('#lblSaveErrorMsg').text('This filename already exist. Please change the name');
            }
            else {
                alert('else');
                return true;
            }
        },
        error: function (error) {
            alert('Please Call Administrator');

        }
    });

    if (flag === 'returnFalse') {
        return false;
    }

});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多