8797 sujets

Développement web côté serveur, CMS

Je suis en train de m'arracher tout les cheveux pour un problème en AJAX.

Voici mon problème:
un champs text qui se trouve sur la page page1.htm que j'envoie en GET sur page2.php. puis on récupère et affiche le contenue du résultat dans la page1. Tout marche nickel, SAUF les retour charriot qui ne sont pas pris en compte.
Quand dans le champs texte je rentre :

abc
def

le résultat est :

abcdef sans rien entre "c" et "d".

J'ai essayé de faire des remplacement ou des nl2br, mais ca ne donne rien.

Quelqu'un aurai une idée de quoi ca pourrais être et de comment je pourrais faire?

Merci d'avance

voici les codes

page1.htm


<script>
function createXMLHttpRequest(){
	try { return new XMLHttpRequest(); } catch(e) {}
	try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
	try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
	
	alert("Votre navigateur n'est pas à jour pour visualiser correctement ce site.");
 	return null;
}

function $(id) { return document.getElementById(id); }


window.onload = function (){
		var bsigner = $("signer");	// Gestionnaire d'évenement
		var message = $("message");
	
	bsigner.onclick = function ()	{	// Lancement des requêtes
	
		alert ("bouton ok ");
		var requete = createXMLHttpRequest ();  	// Callback de résultat du serveur
		requete.onreadystatechange = function (){ 		// Fin de la requête
			if (requete.readyState == 4){
				if (requete.status == 200){
					var resultat = requete.responseText;
					//refreshAide (resultat);
					alert ("requette php-mysql ok et message ="+message.value);
					
					var greeting = document.createElement ("span");
					greeting.id = "greeting";
					greeting.innerHTML = "page 2 recu<br />\n";
					
					$("remplacement").replaceChild(greeting, $("remplacement"));	
	
				}else {
					alert ("Une erreur s'est produite");
				}
			}
		};
		
		// Lancement de la requête
		var queryString = "page2.php?message="+message.value;
		requete.open ("GET", queryString, true);
		requete.send (null);
	};
};
</script>
<div id="onsigneici">
	<div id="formsignature">
		<textarea name="message" cols="50" rows="10" id="message">azertyer</textarea>
		<input name="signer" type="button" id="signer" value="Signer" />
	</div>
</div>

<div id="remplacement"> </div>


Suivi de la page2.php

<br />
<br />
<? 
echo 'message = '.$_GET['message'];

echo '<br / >info = "'.$_SERVER['QUERY_STRING'].'"';
?>

Modifié par cisco112 (23 Apr 2007 - 11:14)