Bonjour,

Sous FireFox, pas de soucis ....
Sous IE : cette application se fige ....

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
erreur : 
'caractère : 7
'arraybateau[...].2' a la valeur null ou n'est pas un objet
code 0
???

Page de test



Je ne comprends pas et je ne sais même pas comment je vais résoudre ce BUG.

Besoin vraiement d'aide.

affiche code source ....

Partie de fonction AJAX utilisée qui déplait à IE :
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
 
function reponseServeurBureaux() 
{
	if (objetXHR1.readyState == 4) 
	{//test si le résultat est disponible
		if (objetXHR1.status == 200) 
		{
		var reponse, traitement_reponse, coordonnees_fournisseur, bateaux_fournisseur;		
		reponse=objetXHR1.responseText;
 
				// on recupere la reponse texte brute renvoyée par le serveur
				traitement_reponse = reponse.split('|');
 
				var type_provider = traitement_reponse[0]; // type_provider est egal a 1 (provider independant),2 (provider appartenant a un groupe avec un seul bureau) ou 3 (provider apparetant à un groupe qui dispose de plusieurs agence)
 
				coordonnees_fournisseur = eval(traitement_reponse[1]); // c'est un array
				//coordonnees_fournisseur = traitement_reponse[1];
 
				var id_fournisseur = coordonnees_fournisseur[0]; // id du fournisseur
				var nom_fournisseur = coordonnees_fournisseur[1]; // nom du fournisseur
				var adresse1 = coordonnees_fournisseur[2]; // adresse1 du fournisseur
				var adresse2 = coordonnees_fournisseur[3]; // adresse1 du fournisseur
				var cp = coordonnees_fournisseur[4]; // cp du fournisseur
				var ville = coordonnees_fournisseur[5]; // ville du fournisseur
				var pays_id = coordonnees_fournisseur[6]; // id du pays du fournisseur
				var tel_standard = coordonnees_fournisseur[7]; // telephone standard du fournisseur
				var fax = coordonnees_fournisseur[8]; // fax general du fournisseur
				var emailgeneral = coordonnees_fournisseur[9]; // id du pays du fournisseur
				var devise = coordonnees_fournisseur[10]; // id du pays du fournisseur
				var date_creation = coordonnees_fournisseur[11]; // date de creation de la fiche du fournisseur
				var date_last_modif = coordonnees_fournisseur[12]; // date de dernière modification utilisation de la fiche du fournisseur
				var modifier_user_id = coordonnees_fournisseur[13]; // date de creation de la fiche du fournisseur
 
				var id_contact = coordonnees_fournisseur[14]; // id_contact 
				var civ = coordonnees_fournisseur[15]; // Civilite du contact
				var prenom = coordonnees_fournisseur[16]; // Prenom du contact
				var nom = coordonnees_fournisseur[17]; // Nom du contact
				var tel_bur = coordonnees_fournisseur[18]; // Nom du contact
				var tel_mobile = coordonnees_fournisseur[19]; // Nom du contact
				var email_direct_cf = coordonnees_fournisseur[20]; // Email personnel et pro du contact
 
				document.getElementById("id_fournisseur").value= id_fournisseur;	
				//document.getElementById("nom_fournisseur").value= nom_fournisseur;	
				document.getElementById("f_adresse1").value= adresse1;
				document.getElementById("f_adresse2").value= adresse2;
				document.getElementById("f_cp").value= cp;
				document.getElementById("f_ville").value= ville;
				document.getElementById("f_pays_id").value= pays_id;
				document.getElementById("f_tel_standard").value= tel_standard;
				document.getElementById("f_fax").value= fax;
				document.getElementById("f_emailgeneral").value= emailgeneral;
				document.getElementById("f_devise").value= devise;
				document.getElementById("f_date_creation").value= date_creation;
				document.getElementById("f_date_last_modif").value= date_last_modif;
				//document.getElementById("f_modifier_user_id").value= modifier_user_id;
 
				document.getElementById("civ_cf").value= civ;
				document.getElementById("prenom_cf").value= prenom;
				document.getElementById("nom_cf").value= nom;
				document.getElementById("tel_bur_cf").value= tel_bur;
				document.getElementById("tel_mobile_cf").value= tel_mobile;
				document.getElementById("email_cf").value= email_direct_cf;
 
 
 
				// Si le Provideur appartient a un groupe de plusieurs agences (cas 3) On doit afficher cette liste
				if (type_provider=='3') 
				{
					document.getElementById('bloc_bureau').style.visibility='visible';
					document.getElementById('bureau').style.visibility='visible'; 
 
					var selectBureau=document.getElementById("bureau");
					var i, liste_agences, bureau, bureaux,nb_bureaux ;
					liste_agences = traitement_reponse[2];
 
					bureaux=liste_agences.split('¦'); //  ¦ est le separateur entre les agences
					nb_bureaux=bureaux.length;
					selectBureau.length=nb_bureaux;
					for (i=0; i<nb_bureaux; i++)
						{
						bureau=bureaux[i].split('¤');  // ¤ est le séparateur entre l'id_fournisseur et son nom
						selectBureau.options[i].value=bureau[0];
						selectBureau.options[i].text=bureau[1];			
						}
 
						document.forms['reservation'].elements['bureau'].selectedIndex =0;
				}
 
				var selectBateau=document.getElementById("id_bateau1");
 
 
				var j, liste_bateaux, bateau, bateaux,nb_bateaux ;
				if (type_provider=='3') // on rappatrie avant la listes des agences
				{
					liste_bateaux = traitement_reponse[3]; // c'est un array
				} 
				else 
				{
					liste_bateaux = traitement_reponse[2]; // c'est un array	
				}
 
				// Si la liste des bateaux n'est pas vide alors on récupère la listes des bateaux
				if (liste_bateaux != ""){
 
							bateaux=liste_bateaux.split('[¦]'); //  [¦ ]est le separateur entre les bateaux
							nb_bateaux=bateaux.length; // nombre de bateaux connus pour le fournisseur
							selectBateau.length=nb_bateaux+1; // on rajoute 1 à la taille du select afin de pouvoir ajouter la possibilité de créer
 
							for (j=0; j<nb_bateaux; j++)
							{
								bateau=bateaux[j].split('[¤]');  // ¤ est le séparateur 
								var numero_id_bateau = bateau[0];
								arraybateau[numero_id_bateau] = new Array();
								arraybateau[numero_id_bateau].push(bateau[0]); // id_bateau
								arraybateau[numero_id_bateau].push(bateau[1]); // fournisseur_id
								arraybateau[numero_id_bateau].push(bateau[2]); // nom_bateau
								arraybateau[numero_id_bateau].push(bateau[3]); // annee_bateau
								arraybateau[numero_id_bateau].push(bateau[4]); // model_bateau_id
								arraybateau[numero_id_bateau].push(bateau[5]); // nom_model
								arraybateau[numero_id_bateau].push(bateau[6]); // type_bateau_id (1=Monohull, 2Catamaran,3 Motoryacht)
								arraybateau[numero_id_bateau].push(bateau[7]); // bateau_lib_anglais (1=Monohull, 2Catamaran,3 Motoryacht)
 
						selectBateau.options[j].value=bateau[0]; // id_bateau
						selectBateau.options[j].text=bateau[5]+' '+bateau[2];	// nom bateau
 
						}
						selectBateau.options[nb_bateaux] = new Option('>>Create a new boat<<', '0');
 
						var premier_id_bateau = bateaux[0][0];
						//alert ('id_model du premier bateau :'+arraybateau[premier_id_bateau][4]);
 
						document.getElementById("nom_bateau1").value=arraybateau[premier_id_bateau][2];
						document.getElementById("id_model_bateau1").value=arraybateau[premier_id_bateau][4];
						//document.forms['reservation'].elements['model_bateau1'].selectedIndex =arraybateau[premier_id_bateau][4];
 
 
 
						document.getElementById("annee_bateau1").value=arraybateau[premier_id_bateau][3];
 
				}
				if (liste_bateaux == "")
				{
				document.getElementById('id_bateau1').value = 0;
				document.getElementById('id_model_bateau1').value = 0;
				document.getElementById('annee_bateau1').value = '';
				document.getElementById('nom_bateau1').value = '';
 
				}
		}
				//demandeServeurInfosBureau(selectBureau.options[0].value);
		// Gestion de l indicateur de traitement de la réponse
		document.getElementById('f_ajax_indicateur').style.visibility='hidden';	
		document.getElementById('societe').disabled= false;
 
		}
 
}