как установить кнопки по умолчанию в разных вкладках? - PullRequest
2 голосов
/ 22 декабря 2011

У меня есть страница с 4 разными вкладками.Я использую следующие jQuery для управления вкладками.Мне нужно установить кнопку по умолчанию для каждой вкладки, так что, когда пользователь нажимает Enter, событие кнопки по умолчанию будет запущено.

Клавиша должна сделать всю работу.Но почему-то, когда я нажимаю Enter, страница перезагружается, а не отправляется.

Как изменить код, чтобы страница определяла, какая кнопка является кнопкой по умолчанию, в зависимости от того, какой пользовательский элемент управления или вкладка активен?

$(document).ready(function() {
    var selected_tab = document.getElementById("<%=hfSelectedTab.ClientID %>");
    //When page loads...
    $(".tab_content").hide(); //Hide all content
    if (selected_tab.value == 2) {
        $("ul.tabs li:nth-child(2)").addClass("active").show();
        $(".tab_content:nth-child(2)").show();
    }
    else if (selected_tab.value == 3) {
        $("ul.tabs li:nth-child(3)").addClass("active").show();
        $(".tab_content:nth-child(3)").show();
    }
    else if (selected_tab.value == 4) {
        $("ul.tabs li:nth-child(4)").addClass("active").show();
        $(".tab_content:nth-child(4)").show();
    }
    else {
        $("ul.tabs li:first").addClass("active").show(); //Activate first tab
        $(".tab_content:first").show(); //Show first tab content
    }

    //On Click Event
    $("ul.tabs li").click(function() {
        $("ul.tabs li").removeClass("active"); //Remove any "active" class
        $(this).addClass("active"); //Add "active" class to selected tab
        $(".tab_content").hide(); //Hide all tab content

        var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content
        $(activeTab).fadeIn(); //Fade in the active ID content

        if (activeTab == "#tab1")
            selected_tab.value = 1;
        else if (activeTab == "#tab2")
            selected_tab.value = 2;
        else if (activeTab == "#attachmentcontent")
            selected_tab.value = 3;
        else if (activeTab == "#kb") {
            selected_tab.value = 4;
            document.getElementById("<%=txtRootCause.ClientID %>").focus();
        }

        return false;
    });

    $("form input").keypress(function(e) {
        if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
            $('button[type=submit] .default').click();
            return true;
        }
    });
});

1 Ответ

3 голосов
/ 04 февраля 2012

Мое решение - обернуть каждую вкладку (определенную div) в asp: Panel и установить свойство Panel DefaultButton.

...