Bonjour,

J'utilise un formulaire faisant appel à la fonction javascript ajouter_activite lors de l'appuie sur un bouton.

Voici la partie javascript de ce formulaire qui est intéressante pour mon problème :

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
 
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 {  
				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest, mettez a jour votre navigateur"); 
				   xhr = false; 
				} 
                return xhr;
			}
 
function ajouter_activite(){
				var xhr_ajout_activite = getXhr();
				xhr_ajout_activite.onreadystatechange = function(){
					if(xhr_ajout_activite.readyState == 4 && xhr_ajout_activite.status == 200){
						//leselect = xhr_ajout_activite.responseText;						
						//document.getElementById('niveau').innerHTML = leselect;
						alert("ok changement detecte");
					}
				}
				xhr_ajout_activite.open("POST","http://localhost/bacasable/includes/mesincludes/ajouterActivite.php",true); 
				xhr_ajout_activite.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				sel = document.getElementById('activite2');
				idniveau = sel.options[sel.selectedIndex].value;
				xhr_ajout_activite.send("idNiveau="+idniveau);					
			}
Voici le formulaire :
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
 
<label>Type :</label>
	<select name='auteur' id='auteur' onchange='affichage_categorie()'>
		<option value='-1'>Choisir un type</option>
			<?php
                                        $res = mysql_query("SELECT * FROM jos_comprofiler_field_values WHERE fieldid=67 ORDER BY fieldtitle");
                                        while($row = mysql_fetch_assoc($res)){                                                  //
                                                        echo "<option value='".$row["fieldvalueid"]."'>".$row["fieldtitle"]."</option>";
                                        }
                                ?>
		</select>						
	<br/>
	<label>Categorie :</label>
	<div id='categorie' style='display:inline'>
		<select name='categorie'> <option value='-1'>Choisir une categorie</option>	</select> 
	</div>	
	<br/>
	<label>Activite :</label>
	<div id='activite' style='display:inline'>
		<select name='activite'> <option value='-1'>Choisir une activite</option> </select> 
	</div>				
	<br/>
	<label>Niveau :</label>
	<div id='niveau' style='display:inline'>
		<select name='niveau'> <option value='-1'>Choisir un niveau</option></select>
	</div>
<div class="form_item">
		<div class="form_element cf_button">
		<input value="Ajouter" name="button_0" type="button" OnClick="ajouter_activite()"; />
	</div>
  <div class="cfclear">&nbsp;</div>
</div>
J'utilise xhtmlhttprequest pour faire passer plusieurs varialbles javascript dans un fichier php ajouterActivite.php.

Le problème ici est que ajouterActivite.php n'est jamais appellé. Le message "ok changement detecte" apparait bien cependant. Comment faire pour que l'appel au fichier ajouterActivite se fasse correctement ?