2010-05-19 2 views
0

J'ai un problème en ce qui concerne le maintien de la valeur lorsque la page était refresh.I attribuer une valeur dans un contrôle caché à l'aide javascript ci-dessous:était « » blanc lors de l'actualisation la page manuellement

function displaytab(tabID) { 
    var tabId = document.getElementById("ctl00_MainContent_tabId"); 
    switch (tabID) { 
     case 1: 
      tabId.value=1; 
      break; 
     case 2: 
      tabId.value=2; 

      break; 
     case 3: 
      tabId.value=3; 

      break; 
     default: 
     tabId.value=0; 

      break;  
    } 

mais quand je rafraîchir la page la valeur était ("") vide. Est-il possible de résoudre ce problème? ou quelle est la meilleure façon de le faire?

+3

-vous vraiment besoin d'arrêter d'utiliser des noms de variables qui ne diffèrent que dans leur cas. 'tabID' et' tabId' sont EXTREMEMENT déroutants. – ThiefMaster

+0

Je suis tellement désolé ThiefMaster, j'ai une faute de frappe. – user335160

Répondre

1

Vous pouvez envisager de placer les valeurs dont vous avez besoin pour stocker les actualisations dans l'ancre de la page (la partie de l'URL qui suit le signe #). Vous pouvez y accéder en javascript via le membre location.hash.

+0

hi Amber, est-il possible d'obtenir la valeur côté serveur? J'ai essayé celui-ci pour par exemple http: //sample.com#1.All je veux maintenant est d'obtenir la valeur qui est 1 en utilisant le code côté serveur. – user335160

+0

La valeur anchor/hash n'est jamais vue par le serveur, vous devrez donc le soumettre d'une autre manière (via une requête AJAX ou une soumission de formulaire, ou en chargeant une autre page et en la transmettant via un paramètre de requête). – Amber

+0

ok, merci beaucoup Amber, je pense que je dois utiliser le location.hash que vous avez déjà suggéré. Ensuite, j'ai appelé la fonction javascript sur l'événement onload, puis j'ai passé la valeur en paramètre à partir de location.hash. Merci beaucoup. – user335160

0

Vérifiez que displayTab n'est pas appelé tant que le DOM n'est pas prêt.

Un moyen facile serait d'appeler votre fonction window.onload:

window.onload = function() 
{ 
    displayTab(123); 
}; 
+0

J'ai essayé celui-ci mais la valeur reste vide – user335160

Questions connexes