Bonjour,
j'ai une page html avec deux listes déroulantes ( select ) et un script javascript ( ajax) qui permet de changer le contenu de la 2ème liste lorsque l'on modifie la première ( en faisant appel à une action du serveur ).
Voici le script que j'ai directement mis dans la page html:

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
<script type="text/javascript">
// Mise a jour des listes via XMLHttpRequest
function listeSfs() {
	//alert("debut");
	// liste des groupes
	var l1 = document.forms[0].elements["grpId"];
	// liste des sfs
	var l2 = document.forms[0].elements["sfId"];
	var index = l1.selectedIndex;
	//alert(index);
	document.forms[0].elements["sfId"].options.length = 0;
	var xhr_object = null;
 
	if(window.XMLHttpRequest) {// Firefox
		xhr_object = new XMLHttpRequest();
	}
	else if(window.ActiveXObject) {// Internet Explorer
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else { // XMLHttpRequest non supporte par le navigateur
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		return;
	}
	xhr_object.open("POST", "ajaxServices.do?grpId="+index, true);
 
	xhr_object.onreadystatechange = function() {
		if(xhr_object.readyState == 4) {
			eval(xhr_object.responseText);
		}
	}
 
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "champ="+escape(l1.options[index].value)+"&form="+document.forms[0].name+"&select=sfId";
	//alert('listeSfs = ' + data);
	xhr_object.send(data);
}
 
</script>
et voici l'erreur dans Firefox ( la même dans IE ) :

Erreur : syntax error
Fichier source : http://localhost:8888/das/catalogue/accederCategorie.do
Ligne : 415
Code source :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

or, la ligne indiquée ne fait même pas partie du script, et le script ne contient (apparement ) pas d'erreur de syntaxe, le html ne doit pas en contenir non plus, puisqu'il etait bon avant...

Est ce que cela pourrait venir de l'endroit où j'ai mis mon script ? ( dans le body, juste avant de l'appeler )
ou est ce une autre raison ?
Connaitriez vous un bon debugger de javascript ?

Merci