
 Envoyé par 
walking
					 
				 
				après avoir affecté le contenu de la div 'contenu' à $html ( voir dans mon code ).
[...]
mais $html ne varie pas avec eux, après la 1ère affectation.
			
		 
	 
 C'est toi qui comprends mal : tu ne peux pas faire ça en javascript ! (car le PHP est coté serveur et le javascript coté client !)
DONC :
1/ la div "#contenu" :
	
	| 12
 3
 4
 5
 6
 7
 8
 
 | <div id="contenu">
	<h2>I) Titre1 : </h2>
	<div id="partie1">C'est la 1ère partie.</div>
	<h2>II) Titre2 : </h2>
	<div id="partie2">C'est la 2ème partie.</div>
	<h2>III) Titre3 : </h2>
	<div id="partie3">C'est la 3ème partie.</div>
</div> | 
 2/ la 1ère affectation :
- SOIT OPTION 1 : (comme tu fais déjà) tu mets le contenu de "#contenu" dans une variable $html,
Et (avec l'OPTION 1) :
	
	<input type="hidden" id="idcode" name="code" value="<?php echo htmlspecialchars($html); ?>" />
 - SOIT OPTION 2 : directement en javascript avec :
	
	| 12
 3
 
 | window.onload=function {
document.getElementById("idcode").value = document.getElementById("contenu").innerHTML;
} | 
 et (avec l'OPTION 2) :
	
	<input type="hidden" id="idcode" name="code" value="" />
 3/ Traitement javascript/ajax pour modifier dynamiquement les contenus de "#partie1", "#partie2", "#partie3"
	
	[... ton code de traitement javascript/ajax ...]
 4/Il faut alors affecter la valeur de l'input directement en javascript :
	
		document.getElementById("idcode").value = document.getElementById("contenu").innerHTML;
 Par contre, htmlspecialchars() n'existe pas en javascript.
Il faut éventuellemnt créer une fonction javascript (trouvée ici):
	
		
			
			
				function js_htmlspecialchars(str) {
 if (typeof(str) == "string") {
  str = str.replace(/&/g, "&"); /* must do & first */
  str = str.replace(/"/g, """);
  str = str.replace(/'/g, "'");
  str = str.replace(/</g, "<");
  str = str.replace(/>/g, ">");
  }
 return str;
 }
			
		
 
	 
 et donc :
	
		document.getElementById("idcode").value = js_htmlspecialchars( document.getElementById("contenu").innerHTML );
 
						
					
Partager