Donc c'était bien la transmission de mon script javascript à mon script php qui était pas compatible. il n'envoyé pas les /r/n, /n, /r
Du coup j'ai fait un petit bidouillage. J'ai remplacés ces 3 caractéres par le mot "antislashn" dans mon javascript et dans mon code php j'ai remplacé ce mot par \n
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 27 28 29 30 31 32 33
| function saveNfiche()
{
var xhr=ajax();
//on définit l'appel de la fonction au retour serveur
xhr.onreadystatechange = function() {
if (xhr.readyState==4)
{
var docXML = xhr.responseXML;
var four_id = docXML.getElementsByTagName("errors")[0].getElementsByTagName("four_id")[0].firstChild.nodeValue;
//loadfiche(four_id);
}
}
//on génére un fichier XML
var params = "";
var valeur = "";
var textareas = document.getElementById("four_fiche").getElementsByTagName("textarea");
for (i=0;i<=1;i++) {
valeur = textareas[i].value.replace("\r\n", "antislashn");
valeur = valeur.replace("\r", "antislashn");
valeur = valeur.replace("\n", "antislashn");
params += '&' + textareas[i].id + '=' + valeur;
}
var inputs = document.getElementById("four_fiche").getElementsByTagName("input");
for (i=0;i<=7;i++)
{
params += '&' + inputs[i].id + '=' + inputs[i].value;
}
//on affiche le message d'attente
document.getElementById("four_fiche").innerHTML = '<img src="ajax-loader.gif"/> Enregistrement en cours...';
xhr.open("GET", "fournisseurs.php?act=saveNfiche" + params, true);
xhr.send(null);
} |
$infos = pg_escape_string(str_replace("antislashn", "\n", trim($_GET['infos'])));
Mais bon c'est pas très pro je trouve. Y aurai-t-il une autre solution ?
Partager