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:
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<body onLoad="level_schedule()";>
or je récupère bien type.value mais pas level.value: (d'apres javascript debugger)
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];
1ere question: Comment ce fait-ce ?Name Type Value Flag
type.value String "backup"
level.value String ""
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:
et du coté du debugger:
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; } }
Bref, je suis un peu desespéré...
nom Type Value
0 ...
1 ...
2 ...
3 String "ScheduleType"
4 String "ScheduleLevel"
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; } }
Partager