第一次单击时,立即禁用按钮

时间:2015-03-23 07:35:30

标签: jquery razor model-view-controller

我的弹出窗口带有Proceed按钮,我需要的是,第一次单击时我的代码就会立即被禁用,我的代码就像,

 <button class="SmallBtn" type="button" onclick="ProceedImportData()" id="ProceedBtn">Proceed</button>

jquery like,

 function ProceedImportData() {
var hasClicked = false;
$('#ProceedBtn').on('click', function (e) {
    if (hasClicked === true) {
        $("#ProceedBtn").attr('disabled', 'disabled');
    }
});
var PreUploadPreview =
    {
    };
$.ajax({
    url: '/Index/UploadedPreviewPage',
    data: JSON.stringify(PreUploadPreview),
    //        contentType: 'application/json; charset=utf-8',
    contentType: false,
    processData: false,
    type: "POST",
    success: function (data) {
        if (data) {
            MTIErrorChw();
        }
    },
});

}

但代码不起作用。请告诉我们如何实现这一目标。

4 个答案:

答案 0 :(得分:1)

您可以通过这种方式设置禁用属性,然后在进行ajax调用之后。

<script>
    $(document).ready(function () {
    $('#ProceedBtn').on('click', function (e) {
    $(this).attr('disabled',true);
    $.ajax({
        url: '/Index/UploadedPreviewPage',
        data: JSON.stringify(PreUploadPreview),
        //        contentType: 'application/json; charset=utf-8',
        contentType: false,
        processData: false,
        type: "POST",
        success: function (data) {
            if (data) {
                MTIErrorChw();
            }
        },
    });

    });

    }
    );
    </script>
     <button class="SmallBtn" type="button" id="ProceedBtn">Proceed</button>

答案 1 :(得分:0)

您可能需要在准备好文档时调用该函数:

$(function(){
     ProceedImportData();
      ...
 });

答案 2 :(得分:0)

这对我有用,

function ProceedImportData() {
$('#ProceedBtn').attr('disabled', true);
var PreUploadPreview ={};
$.ajax({
    url: '/Index/UploadedPreviewPage',
    data: JSON.stringify(PreUploadPreview),
    //        contentType: 'application/json; charset=utf-8',
    contentType: false,
    processData: false,
    type: "POST",
    success: function (data) {
        if (data) {MTIErrorChw();}
    },
});}

答案 3 :(得分:0)

以这种方式试试...... Fiddle demo

onclick="ProceedImportData(this)"
按钮标签中的

function ProceedImportData(ele) {
var hasClicked = false;
$(ele).prop('disabled', true);
var PreUploadPreview =
    {
    };
$.ajax({
    url: '/Index/UploadedPreviewPage',
    data: JSON.stringify(PreUploadPreview),
    //        contentType: 'application/json; charset=utf-8',
    contentType: false,
    processData: false,
    type: "POST",
    success: function (data) {
        if (data) {
            MTIErrorChw();
        }
    },
});

}