Voila, je veux faire un systeme qui charge depuis une BDD des infos qui definissent des "gabarit" pour remplir des input.
Aucun probleme avec tout ce qui est php et sql. Mais ma fonction JS qui écrit les value des input fonctionne trés bien jusqu'à ce que les infos a ecrire contiennent des apostrophes ou des guillemets (comme par hasard...).

Voila la fonction qui écrit dans les champs :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
function setGabarit (nom,note){
		document.getElementById('nom').value = decoderJS(nom);
		document.getElementById('note').value = decoderJS(note);
        }
Tout ça marche trés bien. Mais quand le 'nom' ou la 'note' contient un ou des apostrophe, ça me met \' ou \" dans le input. Comme j'utilise le contenu du input pour mettre la BDD a jour, j'enregistre le \ puis le ' et ça ne va pas.
A savoir, ça marche niquel avec easyPhP mais pluss du tout quand je le met en ligne... Je croyais que le JS s'executait sur le client...

Et voici donc maintenant ma function decoderJS() :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
function decoderJS	(chaine) {
 		chaine = decodeURIComponent(chaine);
 		chaine = UTF8_tool.decode(chaine);
		var aRemplacer = /\+/g;
		chaine = chaine.replace(aRemplacer, " ");
		return chaine;
 	}
La functione UTF8 a été developpée par Rubik's Man et fonctionne parfaitement. Dans le code source généré, les apostrophes sont ecrites %27, ce qui est normal (d'où le decodeURIComponent(chaine)) mais ça montre bien que le \ est rajouté par le JS, au moment ou j'écris dans le input.
Comment faire pour éviter ça ?