Bonjour, je planche depuis plusieurs jours sur un problème que je n'arrive pas à résoudre.

J'ai écrit un script qui fait des appels via AJAX, pour envoyer plusieurs formulaires. Sous IE ça passe, mais sous Firefox, j'obtiens toujours la même erreur :
Erreur : form has no properties
Fichier source : http://127.0.0.1/Test/myth.js
Ligne : 7
la fonction qui pose problème est celle-ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
function checkForm(form){
	var  i;
	var done=0;
	for (i=0;i<form.length;i++)//l'erreur se situe ici
		if (!form.elements[i].value)	done++;
	if (done==0) return true;
	else return false;
}
Cette fonction est appelée par celle-ci :
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
function addCat(){
	var form = document.getElementById("admCat");
	var resp = document.getElementById("admCatResp");
	var xhr= init();
	xhr.open("POST","server/admAddCat.php",true);
	if(checkForm(form)) {
		xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xhr.send(getFormData(form));
		xhr.onreadystatechange = function() {
			if (xhr.readyState == 4) {
				if (xhr.responseXML.getElementsByTagName("Status")[0].text == "Add"){
					var id = xhr.responseXML.getElementsByTagName('Id')[0].text;
					var name = xhr.responseXML.getElementByTagName('Name')[0].text;
					new_element = new Option(name,id);
					form.cbIdCat.options[form.cbIdCat.length] = new_element;
					resp.innerHTML = "Cat&eacute;gorie n° "+xhr.responseXML.getElementsByTagName('Id')[0].text+" ajout&eacute;e";
				}
				else if (xhr.responseXML.getElementsByTagName("Status")[0].text == "Update")
					resp.innerHTML = "Cat&eacute;gorie n°"+xhr.responseXML.getElementsByTagName('Id')[0].text+" modifi&eacute;e";
			}
			else resp.innerHTML= treatmentError;
			form.reset();
		}
	}
	else resp.innerHTML = errorMsg;
}
Pouvez-vous me dire ce qui ne vas pas ?
Merci d'avance,