Событие onClick кнопки asp server не срабатывает при одновременном использовании onClientClick - PullRequest
0 голосов
/ 29 января 2012

У меня есть кнопка asp server, которая при нажатии должна преформовать некоторый код на стороне сервера, при этом запустить метод javascript, при этом кнопка выглядит так:В первый раз все работает нормально, оба метода выполняются, но если нажать кнопку еще раз, только метод javascript выполняется, я искал и нашел некоторые решения, но ни одно из них не помогло мне, любая помощь будет оценена заранее, спасибо большое

Используемые методы javascript:

    var popupStatus = 0;
function loadPopup() {
    //loads popup only if it is disabled
    if (popupStatus == 0) {
        var test = document.getElementById('ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder2_hidden1').value + "<div>success <input id=\"Button1\" type=\"button\" value=\"button\" onclick=\"disablePopup()\" /> </div>";
        $("#popupContact").html(test);
        $("#backgroundPopup").css({
            "opacity": "0.7"
        });
        $("#backgroundPopup").fadeIn("slow");
        $("#popupContact").fadeIn("slow");
        popupStatus = 1;
    }
}

function disablePopup() {
    //disables popup only if it is enabled
    if (popupStatus == 1) {
        $("#backgroundPopup").fadeOut("slow");
        $("#popupContact").fadeOut("slow");
        popupStatus = 0;      
    }
}

function centerPopup() {
    //request data for centering
    // var windowWidth = document.documentElement.clientWidth;
    var windowHeight = document.documentElement.clientHeight;
    var windowWidth = document.documentElement.clientWidth;
    var popupHeight = $("#popupContact").height();
    var popupWidth = $("#popupContact").width();
    //centering
    $("#popupContact").css({
        "position": "absolute",
        "top": windowHeight.top - popupHeight / 2,
        "left": windowWidth / 2 - popupWidth / 2
    });
    //only need force for IE6

    $("#backgroundPopup").css({
        "height": windowHeight
    });

}

function check() {
    centerPopup(); 
    loadPopup();
}

function timing() {
    setTimeout('check()', 10000);
}

Функция хронирования ждет 10 секунд, затем вызывает проверку, которая вызывает два метода для загрузки и центрирования всплывающего окна

1 Ответ

1 голос
/ 31 января 2012

вызов settimeout возвращается немедленно. И нажатие кнопки отправляет вызов на сервер, если вызов сервера возвращается быстрее, чем через 10 секунд, ваш вызов javascript будет отменен. Вся последовательность не выглядит надежной.

Как насчет отправки asp.net из самой функции javascript.

[http://www.codeproject.com/Articles/4368/Post-an-ASP-NET-form-with-JavaScript][1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...