Bonjours,

J'ai un problème (certainement très simple, je suis débutant) pour récupérer les paramètres passés dans l'url.

Ma page est appelée avec cette url:
172.16.11.15/server-manager/cgi-bin/templateSchedule?page_stack=;page=0;.id=5a843b9eca9b5135ba26346f68c221a8&ScheduleIdentifiant=test0-schedule&ScheduleName=test-schedule&ScheduleType=backup&ScheduleLevel=full&ScheduleDate=daily&ScheduleHour=00&ScheduleMin=00&SchedulePool=D2T&wherenext=ModifySchedule

J'appelle ma fonction par l'évènement onLoad dans la balise body:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<body onLoad="level_schedule()";>
Dans cette fonction je voudrais récupérer les valeur de ScheduleType et de ScheduleLevel passées en paramètre dans l'url.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
    var type  = document.getElementsByName("ScheduleType")[0];
    var level = document.getElementsByName("ScheduleLevel")[0];
or je récupère bien type.value mais pas level.value: (d'apres javascript debugger)

Name Type Value Flag
type.value String "backup"
level.value String ""
1ere question: Comment ce fait-ce ?

Par la suite, j'ai essayé de récupérer tous les paramètres dans un tableau mais je ne sais pas comment tester les valeurs récupérées. Le test dans le code suivant est toujours négatif.
Javascript Debugger me dit que je devrait avoir un résultat positif.
Voici l'extrait de code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
    var nom=new Array();
    var valeur=new Array();
 
    // On enlève le ?
    param = window.location.search.slice(1,window.location.search.length);
 
    // On sépare le paramètres....
    // first[0] est de la forme param=valeur
 
   first = param.split("&");
 
   for(i=0;i<first.length;i++){
      second = first[i].split("=");
      nom[i] = second[0];
      valeur[i] = second[1];
      if (nom[i].value == "ScheduleType") {
      type.value = valeur.value;
      }
      if (nom[i].value == "ScheduleLevel") {
      level.value = valeur[i].value;
      }
   }
et du coté du debugger:


nom Type Value
0 ...
1 ...
2 ...
3 String "ScheduleType"
4 String "ScheduleLevel"
Bref, je suis un peu desespéré...

2eme question: Quelqu'un peu m'expliquer mon erreur ?

Eril LLUSCA.

Fonction au complet:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
 
 
 
    function level_schedule()
    {
    //modify the field ScheduleLevel regarding ScheduleType
    var type  = document.getElementsByName("ScheduleType")[0];
    var level = document.getElementsByName("ScheduleLevel")[0];
    //var ident = document.getElementsByName("ScheduleIdentifiant")[0];
    //  var name = document.getElementsByName("ScheduleName")[0];
 
    var fullSelected = "false";
    var differentialSelected = "false";
 
    var nom=new Array();
    var valeur=new Array();
 
    // On enlève le ?
    param = window.location.search.slice(1,window.location.search.length);
 
    // On sépare le paramètres....
    // first[0] est de la forme param=valeur
 
   first = param.split("&");
 
   for(i=0;i<first.length;i++){
      second = first[i].split("=");
      nom[i] = second[0];
      valeur[i] = second[1];
      if (nom.value == "ScheduleType") {
      type.value = valeur.value;
      }
      if (nom[i].value == "ScheduleLevel") {
      level.value = valeur[i].value;
      }
   }
 
   switch (level.value){
     case "full":{
       fullSelected="true";
       break;
     }
     case "differential":{
       differentialSelected="true";
       break;
     }
     default:{
       break;
     }
  }
  switch (type.value){
    case "backup":
    //option selected regarding the level value
        {
          level.length=0;
          level[0] = new Option("FULL type= backup","full","",fullSelected);
          level[1] = new option("DIFFERENTIAL","differential","",differentialSelected);
       }
    break;
    case "verify":
	{
	level.length=0;
	level[0] = new Option("INITCATALOG","InitCatalog");
	level[1] = new Option("VOLUMETOCATALOG","VolumeToCatalog");
	}
	break;
     default:
        {
         level.length=0;
         level[0] = new Option("RIEN","rien");
	 }
	break;
     }
  }