2011-12-21 4 views
2

J'ai une page de contenu qui a 4 onglets différents. J'utilise jQuery suivant pour contrôler les onglets. J'ai besoin de définir le bouton par défaut pour chaque onglet, de sorte que lorsque l'utilisateur clique sur Entrée, l'événement du bouton par défaut sera déclenché.comment régler le bouton par défaut dans différents onglets?

La touche doit effectuer le travail. Mais de toute façon, lorsque je clique sur Entrée, la page est rechargée, ne pas être soumise.

Comment puis-je modifier mon code pour que la page détermine quel bouton est le bouton par défaut, en fonction du contrôle ou de l'onglet utilisateur actif?

$(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; 
     } 
    }); 
}); 

Répondre

3

Ma solution consiste à envelopper chaque onglet (défini par div) dans un panneau asp: Panel et à définir la propriété Panel DefaultButton.

Questions connexes