Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/04/2007, 10h30   #1
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46
Par défaut asp 3.0 - redirection à partir d'une liste déroulante

Bonjour,

Je cherche, à partir d'une liste déroulante, à rediriger le client sur les pages corespondantes.

Code :
1
2
3
4
5
6
7
8
9
10
<p><FORM>
Aller vers
  <SELECT NAME="chemin">
    <OPTION> Statistiques: Routeur 1
    <OPTION> Statistiques: Routeur 2
    <OPTION> Statistiques: Routeur 3
    <OPTION SELECTED> Cartographie
  </SELECT>
<INPUT TYPE="submit"VALUE="Valider">
</FORM></p>
Pour cela j'ai pensais ajouter un morceau de code asp comme celui-là

Code :
1
2
3
4
5
6
7
8
9
10
11
12
<%
 
IF chemin="Statistiques: Routeur 1" THEN
	Response.Redirect("router1.asp")
ELSEIF chemin="Statistiques: Routeur 2" THEN
	Response.Redirect("router2.asp")
ELSEIF chemin="Statistiques: Routeur 3" THEN
	Response.Redirect("router3.asp")
ELSEIF chemin="Cartographie" THEN
	Response.Redirect("iisstart.asp")
 
%>
Pourriez-vous me dire si l'idée est juste et si oui, où (et comment) inserer le code asp ?
vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2007, 11h57   #2
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 246
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 246
Points : 1 203
Points : 1 203
Envoyer un message via MSN à kaiser59
Salut,

Tu peux faire ça :
Code :
1
2
3
4
5
6
7
8
9
10
11
 
<FORM action="page.asp" method="post">
Aller vers
  <SELECT NAME="chemin">
    <OPTION value="1"> Statistiques: Routeur 1
    <OPTION value="2"> Statistiques: Routeur 2
    <OPTION value="3"> Statistiques: Routeur 3
    <OPTION value="4" SELECTED> Cartographie
  </SELECT>
<INPUT TYPE="submit" name="ok" VALUE="Valider">
</FORM>
page.asp (c'est-à-dire dans la même page):
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<%
If request.form("name")="ok" Then
  If Request.form("chemin")="1" then 
     response.redirect "toto.asp"
  Else if Request.form("chemin")="2" then 
           response.redirect "toto2.asp"
        Else if Request.form("chemin")="3" then
                 response.redirect "toto3.asp"
              Else if Request.form("chemin")="4" then 
                       response.redirect "toto4.asp"
                    End if
              End if
        End if
  End if
End if
%>
++
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2007, 14h41   #3
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46
Merci de ta réponse Kaiser.
J'ai donc rectifié mon code et j'ai donc ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<%@Language="VBScript"%>
 
<HTML>
<HEAD>
<TITLE>Les débuts de la Réussite</TITLE>
</HEAD>
<BODY>
 
<H1>Enquête de satisfaction</H1>
 
<%
If request.form("name")="ok" Then
  If Request.form("chemin")="1" then 
       response.redirect "router1.asp"
    Else if Request.form("chemin")="2" then 
         response.redirect "router2.asp"
      Else if Request.form("chemin")="3" then
           response.redirect "router3.asp"
        Else if Request.form("chemin")="4" then 
             response.redirect "cartographie.asp"
        End if
      End if
    End if
  End if
End if
%>
 
 
<p>
<FORM action="page.asp" method="post">
Aller vers
  <SELECT NAME="chemin">
    <OPTION value="1"> Statistiques: Routeur 1</OPTION>
    <OPTION value="2"> Statistiques: Routeur 2</OPTION>
    <OPTION value="3"> Statistiques: Routeur 3</OPTION>
    <OPTION value="4" SELECTED> Cartographie</OPTION>
  </SELECT>
<INPUT TYPE="submit" name="ok" VALUE="Valider">
</FORM></p>
 
 
 
</BODY>
</HTML>
Citation:
<FORM action="page.asp" method="post">
En sachant que page.asp est la page même où est écrit mon code

Le problème c'est que les redirections ne s'executent pas et je retombe sur cette même page.
Sauriez-vous d'où viens mon problème ?
vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2007, 15h46   #4
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46
Par défaut Solution

Voici le bon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<p><FORM action="page.asp" method="post">
Aller vers
  <SELECT NAME="chemin">
    <OPTION value="1" SELECTED> Cartographie</OPTION>
    <OPTION value="2"> Statistiques: Routeur 1</OPTION>
    <OPTION value="3"> Statistiques: Routeur 2</OPTION>
    <OPTION value="4"> Statistiques: Routeur 3</OPTION>
  </SELECT>
<INPUT TYPE="submit" name="ok" VALUE="Valider">
</FORM></p>
<%
If Request.form("chemin")="1" Then
     response.redirect "cartographie.asp"
  Else if Request.form("chemin")="2" Then
       response.redirect "router1.asp"
    Else if Request.form("chemin")="3" Then
	 response.redirect "router2.asp"
      Else if Request.form("chemin")="4" Then
           response.redirect "router3.asp"
      End if
    End if
  End if
End if
 
%>


++
vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2007, 16h53   #5
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Beuh, heureusement que tu n'as que quelques pages sinon je te dis pas le nombre de if.
J'aurais plutôt opté pour un
Code :
1
2
3
4
5
6
 
SELECT CASE request.form("chemin")
case 1
case 2
case else
end select
C'est plus propre.
Ceci dit cette redirection se fait aussi très bien en javascript si il n'y a pas de traitement de données à faire comme ton code le laisse penser.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
 
<script language="JavaScript" type="text/JavaScript">
<!--
function jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>
</head>
 
<body>
<form name="form1">
  <select name="menu1" onChange="jumpMenu('parent',this,0)">
    <option value="Page1.php">Page1</option>
    <option value="Page2.php">Page2</option>
    <option value="Page3.php">Page3</option>
  </select>
</form>
</body>
</html>
A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2007, 17h22   #6
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46
Par défaut merci

Merci immo pour le conseil.

++
vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2007, 09h40   #7
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46
Par défaut Interrogation

Bonjour,

Peut-on avoir le même effet, à savoir une redirection à partir d'une liste déroulante, sans avoir de bouton validation(submit), pour avoir une redirection simplement en ayant selectionné l'élément voulu dans la liste ?
vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2007, 14h01   #8
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Je constate que tu n'as pas testé mon code

Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2007, 14h05   #9
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46
Par défaut si si ...

SI j'ai bien testé ton code et je t'en remercie

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<p><FORM action="redirection.asp" method="post">
Aller vers
  <SELECT NAME="chemin">
    <OPTION value="1" SELECTED> Cartographie</OPTION>
    <OPTION value="2"> Statistiques: Routeur 1</OPTION>
    <OPTION value="3"> Statistiques: Routeur 2</OPTION>
    <OPTION value="4"> Statistiques: Routeur 3</OPTION>
  </SELECT>
<INPUT TYPE="submit" name="ok" VALUE="Valider">
</FORM></p>
<%
Dim varChemin
varChemin=Request.form("chemin")
SELECT CASE varChemin
Case "1"
     response.redirect "cartographie.asp"
Case "2"
     response.redirect "router1.asp"
Case"3"
     response.redirect "router2.asp"
Case"4"
     response.redirect "router3.asp"
End Select
 
%>
Citation:
Bonjour,

Peut-on avoir le même effet, à savoir une redirection à partir d'une liste déroulante, sans avoir de bouton validation(submit), pour avoir une redirection simplement en ayant selectionné l'élément voulu dans la liste ?
Saurais-tu repondre à ma précédente question ?
vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2007, 14h11   #10
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 246
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 246
Points : 1 203
Points : 1 203
Envoyer un message via MSN à kaiser59
Salut,

C'est normal, que cela ne fonctionne pas j'ai fait une ptite erreur dans la syntax
C'est pas :
Code :
1
2
3
4
<%
If request.form("name")="ok" Then
...
%>
mais
Code :
1
2
3
4
<%
If request.form("ok")="valider" Then
...
%>
Par ailleurs, c'est vrai que la syntaxe de Immobilis est plus claire et plus propre j'y pense pas assez au Case thx Immobilis

++
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2007, 14h30   #11
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46
Merci Kaiser,

Le code marche impecablement bien mais je voudrais savoir comment modifier mon code pour pouvoir enlever le bouton submit.

Qlq aurais une idée ?

vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2007, 14h46   #12
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 246
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 246
Points : 1 203
Points : 1 203
Envoyer un message via MSN à kaiser59
Salut,

Tiens tu vas trouver ton bonheur là :
http://www.thelin.net/laurent/labo/j...eroulante.html

Cependant pour faire ça tu aurais du plutôt poser ta question dans javascript


++
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2007, 15h29   #13
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46
Merci à vous, Immo et Kaiser,

Mais j'ai commencé à programmer en asp avec VBScript, et comme je débute, je voudrais rester sur ce langage pour ne pas me débousolé
vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2007, 15h36   #14
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Je voulais dire celui-ci
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
 
<script language="JavaScript" type="text/JavaScript">
<!--
function jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>
</head>
 
<body>
<form name="form1">
  <select name="menu1" onChange="jumpMenu('parent',this,0)">
    <option value="Page1.php">Page1</option>
    <option value="Page2.php">Page2</option>
    <option value="Page3.php">Page3</option>
  </select>
</form>
</body>
</html>
Si tu regarde bien il y a cette methode dans la liste que tu n'as pas dans ton code
Code :
 onChange="jumpMenu('parent',this,0)"
Mais bon, tout cela c'est du javascript.

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2007, 15h54   #15
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46
Citation:
Merci à vous, Immo et Kaiser,

Mais j'ai commencé à programmer en asp avec VBScript, et comme je débute, je voudrais rester sur ce langage pour ne pas me débousolé
vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2007, 17h51   #16
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Pourquoi tu dis ça, je vois pas le rapport...

Javascript et VB script sont des langages qui peuvent être utilisés aussi bien côté client que serveur.

Toutefois, en ASP, on rencontre plus souvent des situations avec Javascript côté client et VB script côté serveur. Le javascript est un langage indispensable pour un développeur Web!!!

Je crois bien que tu aurais besoin de faire un petit tour sur les FAQ javascript et ASP. Cela te permettrait de mieux aborder la programmation, car là, je crois que tu fais des confusions.

As-tu rééllement testé le code que j'ai indiqué??? Fais un simple copié collé dans une page vierge.

Il y a dedans une fonction javascript qui est appelée quand on change d'élément dans la liste déroulante. Cette fonction agit sur le navigateur de l'internaute et ne sollicite pas le serveur (c'est toujours cela de moins). La fonction, en focntion du choix de l'internaute, renvoi vers une page determinée.

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 08h42   #17
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46


ok,

J'avais bien testé ton code immo et ça marche bien. Et tu as raison j'ai mal saisi les possibilités de programmation et le fait que JavaScript et VBScript ne sont pas indissociables Maintenant ça devrait un peu mieux se passer ...

Encore merci

++
vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h19.


 
 
 
 
Partenaires

Hébergement Web