0

Visual Studio 2010: Asp.Net 4.0

次の JavaScript 関数を使用して、ポストバック時に GridView のセル コレクションの最初のセル [0] を取得しようとしています。IE8 と IE9 では動作しますが、Firefox や Safari では動作しません。


function onBeginRequest(sender, args) {
    var send = args.get_postBackElement().id;

    if (args.get_postBackElement().cells != null) {
        var menu = args.get_postBackElement().cells[0].innerHTML;
        if (menu.indexOf("vehicles") != -1) {
            send = "ProjectClick";
        }
    }

    if (displayWait(send) == "yes") {
        $find('PleaseWaitPopup').show();
    }
}
4

1 に答える 1

0

getElementById メソッドを使用して、コントロールの tagName を取得するか、ID を確認します。タグ名を確認しました。

function pageLoad(sender, args) {
    var sm = Sys.WebForms.PageRequestManager.getInstance();
    if (!sm.get_isInAsyncPostBack()) {
        sm.add_beginRequest(onBeginRequest);
        sm.add_endRequest(onRequestDone);
    }
}

function onBeginRequest(sender, args) {
    var send = args.get_postBackElement().id;
    var gv = document.getElementById(send);

    if (gv != null && gv.tagName == "TABLE") {
        var menu = gv.rows[0].cells[0].innerHTML;
        if (menu.indexOf("vehicle") != -1) {
            send = "ProjectClick";
        }
    }

    if (displayWait(send) == "yes") {
        $find('PleaseWaitPopup').show();
    }
}

function onRequestDone() {
    $find('PleaseWaitPopup').hide();
}

function displayWait(send) {
    switch (send) {
        case "ProjectClick":
            return ("yes");
            break;
        default:
            return ("no");
            break;
}
于 2013-01-25T13:08:28.090 に答える