2010-08-20 20 views
2

J'utilise le code suivant pour ouvrir une fenêtre contextuelle et transmettre l'ID de la chaîne de requête. Le scénario est, j'ai besoin d'afficher la fenêtre DIV dans une fenêtre contextuelle dont l'ID est similaire à la valeur de la chaîne querystring. Le code de la fenêtre contextuelle estObtention d'une erreur non définie lors de l'utilisation de Request.QueryString() pour obtenir la valeur variable

<html> 
<head> 
<script language="javascript" type="text/javascript"> 
function getid() { 
    if (Request.QueryString("id")!=null) 
     var id = Request.QueryString("id"); 
     document.getElementById(id).style.display = "block"; 
} 
</script> 
</head> 
<body onload="getid();"> 
<div style=" overflow:hidden"> 
<div style="margin-left:-5px;"><input type="file" style="" /></div> 
</div> 
<div style="width:200px; height:200px; border:1px solid #999999; background- color:#CCCCCC; display:none" id="one">Hello! ONE</div> 
<div style="width:200px; height:200px; border:1px solid #999999; background-color:#CCCCCC; display:none" id="two">Hello! TWO</div> 
<div style="width:200px; height:200px; border:1px solid #999999; background-color:#CCCCCC; display:none" id="three">Hello! THREE</div> 
</body> 
</html> 

Maintenant, la fenêtre contextuelle affiche une erreur "Requête non définie".

S'il vous plaît aidez-moi avec la solution.

Merci Lokesh Yadav

Répondre

1

Vous confondez langage côté serveur ASP.NET avec le javascript qui est bien sûr impossible. Essayez comme ceci:

function getid() { 
    <% if (Request.QueryString("id") != null) { %> 
     var id = '<%= Request.QueryString("id") %>'; 
     document.getElementById(id).style.display = 'block'; 
    <% } %> 
} 

Si vous n'utilisez un langage côté serveur, vous pouvez utiliser la fonction suivante pour lire les paramètres de chaîne de requête en javascript (taken from here):

function gup(name) 
{ 
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
    var regexS = "[\\?&]"+name+"=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec(window.location.href); 
    if(results == null) { 
     return ""; 
    } else { 
     return results[1]; 
    } 
} 

Et utiliser comme ceci:

function getid() { 
    var id = gup('id'); 
    if (id != '') { 
     document.getElementById(id).style.display = 'block'; 
    } 
} 
+0

wow! votre code javascript pour HTML simple a travaillé comme un charme vous m'avez sauvé Darin, merci beaucoup :) –