cs_liv
Messages postés49Date d'inscriptionlundi 17 mai 2004StatutMembreDernière intervention26 avril 2006
-
24 avril 2006 à 11:15
cs_liv
Messages postés49Date d'inscriptionlundi 17 mai 2004StatutMembreDernière intervention26 avril 2006
-
26 avril 2006 à 09:24
Bonjour à tous !
J'urilise la techno XMLHTTPRequest pour l'affichage de mes formulaires.
Jusqu'à maintenant je n'avais pas de problème mais depuis que j'ai inséré des éléments TEXTAREA dans mon formulaire cela ne fonctionne plus.
Voilà le problème :
Dès que je met un retour chariot dans mon textarea cela ne marche plus.
Mon fonctionnement :
1. J'ai une page avec un formulaire d'enregistrement avec divers éléments (dont textarea). Ces éléments sont déjà renseignés par XMLHTTPRequest via des requêtes dans ma base de données.
2. Je modifie mes éléments...en faisant un retour chariot dans mon textarea par exemple.
3. J'enregistre mes valeurs dans une base de données en appellant un script php.
4. Je rappelle ma page avec mon formulaire renseigné -> j'ai une erreur javascript lié au retour chariot du textarea.
Est-ce que je dois appeler des fonctions php de traitement de caractères ?? J'en ai essayé pleins mais ça ne fonctionne pas !
cs_liv
Messages postés49Date d'inscriptionlundi 17 mai 2004StatutMembreDernière intervention26 avril 2006 24 avril 2006 à 12:26
Je viens de l'essayer mais rien n'y fait.
En fait mon champ "commentaire" doit s'afficher dans mon textarea.
Si il contiend des \n, pour qu'il s'affiche dans mon textarea je fais la manip suivante:
Ensuite, j'enregistre les valeurs dans ma base...sans traitement particulier et c'est après que ça déconne.
Je regarde dans ma base la valeurs enregistrée et pas de problème, il y a bien mon texte en bonne et due forme...mais lorsque j'essaie de le réafficher j'ai une erreur javascript.
Je suis obligé de reformater le texte dans ma base pour que cela re-fonctionne.
cs_liv
Messages postés49Date d'inscriptionlundi 17 mai 2004StatutMembreDernière intervention26 avril 2006 24 avril 2006 à 14:10
L'erreur renvoyée n'est pas clair...il me met "unterminated string literal".
La chaîne de caractère n'est pas prise en compte dans sa totalité. La valeur renvoyée par la console javascript s'arrête là où j'ai inséré le retour chariot.
. Liv
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_liv
Messages postés49Date d'inscriptionlundi 17 mai 2004StatutMembreDernière intervention26 avril 2006 24 avril 2006 à 14:40
Oui ! C'est ça le plus curieux !
Il me met la même erreur javascript avec la valeur de la variable coupée à hauteur du retour chariot.
Si je ne mets pas nl2br j'ai la même erreur mais sans le
cs_liv
Messages postés49Date d'inscriptionlundi 17 mai 2004StatutMembreDernière intervention26 avril 2006 24 avril 2006 à 14:44
Pour te préciser je fais les tests avec 2 bases de données...l'une en LATIN1 et l'autre en UNICODE...même résultat pour les 2. C'est bizarre tu ne trouves pas ?
ici, je ne comprends pas ce que tu fais. La méthode xmlhttp object qui va remplir ton élément est en js, pas en phpo, alors pourquoi as-tu un echo?
Ensuite, un textarea n'a pas d'attribut "value". C'est un innerHTML.
cs_liv
Messages postés49Date d'inscriptionlundi 17 mai 2004StatutMembreDernière intervention26 avril 2006 24 avril 2006 à 15:24
Oui mais c'est un fichier php.
Voilà la truc...
J'ai un tableau de liens correspondant à différentes données dans ma base. Lorsque je clique sur un lien de ce tableau, je dois pouvoir renseigner dynamiquement les données du formulaire affiché en dessous. Ce lien appelle la fonction ModifImage stockée dans un fichier .js
function ModifImage(id,type)
{
window.document.getElementById("image_detail").style.display = "block";
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
{ // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//var data = "family="+escape(l1.options[index].value)+"&form="+f.name+"&select=fournisseur";
var data = "bla";
xhr_object.send(data);
}
Cette fonction appelle le fichier php image_request.php, en lui transmettant des variables, qui est censée remplir dynamiquement mon formulaire sans recharger la page.
C'est dans ce fichier php qu'il y a echo "window.document.forms['monform'].elements['dCommentaire'].value ='".$commentaire."';";
J'ai essayé de remplasser .value par .innerHTML...ça ne change rien.
Tout cela marche très bien en fait. J'arrive à remplir tous mes champs, liste select, case à cocher, textarea etc...sauf cette histoire de retour chariot.