2011-12-21 3 views
2

У меня есть страница содержания, которая имеет 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; 
     } 
    }); 
}); 

ответ

3

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