Bonjour tout le monde,

J'ai un bug dans mon site.

J'ai un bouton qui permet de désactiver (interdire la modification) des zones de texte.

Voici le code de ce bouton :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<input type="submit" name="cloturer" id="cloturer" value="Cloturer ce cours " onclick="Cloturer()";/>
Le onclick me mène ici :

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
function Cloturer()
{
	if(confirm('Vous ne pourrez plus modifier vos cotes apres la clôture, voulez-vous continuer ?'))
	{
		var cours = document.getElementById('select_Nom_mnemonics').options[document.getElementById('select_Nom_mnemonics').selectedIndex].value;
		//alert(cours);
		var type = document.getElementById('select_Nom_types').options[document.getElementById('select_Nom_types').selectedIndex].value;
		//alert(type);
		var categorie = document.getElementById('select_Categories').options[document.getElementById('select_Categories').selectedIndex].value;
		//alert(categorie); 
		//Je mets ce message avant que le cours soit clôturé (pas le choix) juste pour prévenir l'utilisateur.
		alert('cours clôturé avec succes');
		go_cloture(cours,type,categorie);
		//document.getElementById('idduchamps').disabled='disabled';
	}
}
je ne fait que passer 3 valeurs (les valeurs sélectionnées de chaque liste déroulante) et j'appelle ensuite une fonction nommée go_cloture() que voici :

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
 
function getXhr()
	{
    	var xhr = null; 
		if(window.XMLHttpRequest) // Firefox et autres
		xhr = new XMLHttpRequest(); 
		else if(window.ActiveXObject){ // Internet Explorer 
		   try {
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
			    } catch (e) {
			    xhr = new ActiveXObject("Microsoft.XMLHTTP");
			    }
			}
			else { // XMLHttpRequest non supporté par le navigateur 
			   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
			   xhr = false; 
			} 
              return xhr;
	}
//ici, on utlise de l'ajax sans écrire quoi que ce soit dans la page, on ne fait qu'appeler du php sans faire de refresh 
 
function go_cloture(cours,type,categorie)
	{
		var xhr = getXhr();
		xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			leselect = xhr.responseText;
 
			//alert('cours cloture avec succes');
			}
		}
 		//j'appelle la page Update_Cloture.php pour mettre a jour la table cours (cloture)
		xhr.open("POST","../Scripts/Utilisateur/Update_Cloture.php",true);
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		xhr.send("nomcours="+cours+"&nomtype="+type+"&nomcategorie="+categorie);
	}
J'appelle donc cette page PHP :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
xhr.open("POST","../Scripts/Utilisateur/Update_Cloture.php",true);
qui contient ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<?php
	include('../connexion.php'); 
	//j'ajoute 1 dans le cours pour dire qu'il est modifié et j'ajoute la date du jour de la clôture
	$MiseAJour = "UPDATE cours SET Cloture = 1, Cloture_le =  now()  WHERE MNEMONIC = '".$_POST['nomcours']."' AND TYPE_DE_COURS = '".$_POST['nomtype']."' AND Categorie = '".$_POST['nomcategorie']."' "; 
	echo $MiseAJour;
	$execution=mysql_query($MiseAJour)or die($MiseAJour. " - " . mysql_error());	
?>
Le problème est que avec Firefox, il ne met pas à jour la table à chaque fois ou il le fait 1 fois sur 5.

Si je mets un : Il ne rentre même pas dedans.

Internet Explorer lui par contre ouvre l'alerte en disant :
4
C'est bien la première fois que j'ai un problème avec Firefox et que ça fonctionne avec IE.

Sauriez-vous me dire ce qu'il se passe svp ?

Merci d'avance.

beegees