11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

j'ai fait une petite fonction js pour ajouter des champs et les supprimer via l'api DOM. Cette fonction marche tres bien sous firefox mais ne réagit pas du tout sous ie Smiley decu
Est ce normal ou est ce une erreur de ma part ?

function addNewCat(zone, zone1){

	var inputCat = document.createElement('input');
	inputCat.setAttribute('type', 'text');
	inputCat.setAttribute('name', 'catName'+counter);
	inputCat.setAttribute('id', 'catId'+counter);
	document.getElementById(zone).appendChild(inputCat);

	var inputRemCat = document.createElement('input');
	inputRemCat.setAttribute('type', 'button');
	inputRemCat.setAttribute('value', 'supprimer');
	inputRemCat.setAttribute('name', 'catRemName'+counter);
	inputRemCat.setAttribute('id', 'catRemId'+counter);
	inputRemCat.setAttribute("onclick","remCat(\""+zone+"\",\"catId"+counter+"\",\"catRemId"+counter+"\");");
	document.getElementById(zone).appendChild(inputRemCat);
	counter++;
	if(getSwitcher()==0) {
		var inputSaveCat = document.createElement('input');
		inputSaveCat.setAttribute('type', 'button');
		inputSaveCat.setAttribute('value', 'Sauvegarder');
		inputSaveCat.setAttribute('name', 'catSavName');
		inputSaveCat.setAttribute('id', 'catSavId');
		inputSaveCat.setAttribute('onClick','saveAllCat(\'' + zone + '\')');
		document.getElementById(zone1).appendChild(inputSaveCat);
		var inputCancelCat = document.createElement('input');
		inputCancelCat.setAttribute('type', 'button');
		inputCancelCat.setAttribute('value', 'Annuler');
		inputCancelCat.setAttribute('name', 'catCancelName');
		inputCancelCat.setAttribute('id', 'catSavId');
		inputCancelCat.setAttribute("onclick","cancelAllCat(\""+zone+"\",\""+zone1+"\");");
		document.getElementById(zone1).appendChild(inputCancelCat);
		switcher=1;
	}
}



merci d'avance de votre aide.
concretement c'est tout les attributs Onclick, quand je clique sur un bouton, on dirait qu'il n'active pas la fonction et je n'ai pas de retour erreur.

inputCancelCat.setAttribute("onclick","cancelAllCat(\""+zone+"\",\""+zone1+"\");");



inputRemCat.setAttribute("onclick","remCat(\""+zone+"\",\"catId"+counter+"\",\"catRemId"+counter+"\");");

etc...

sinon t'as une bonne ref de script debuger pour IE ?
Bonjour
IE ne supporte pas bien setAttibute
Tu n'as qu'à utiliser la programmation objet de javascript, ça reviens au même (je pense Smiley lol ) et c'est plus simple :

inputCat.type='text');
inputRemCat.onclick=function(){
remCat(\""+zone+"\",\"catId"+counter+"\",\"catRemId"+counter+"\");");
}	

et ainsi de suite.
pour le "script debuger " je ne sais pas Smiley whattha
Modifié par chmel (09 Sep 2006 - 15:49)