
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" :
1 2 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 :
1 2 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