Pb xmlhttprequest

Résolu
David_monchy Messages postés 214 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 23 juin 2006 - 25 avril 2006 à 14:40
cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007 - 25 avril 2006 à 16:00
salut à tous, je viens du forum phpcs.com, ou on m'a dit de venir poster ici, donc je vous fait un copier-coller du message:
je développe un
genre de messagerie en direct (enfin un chat quoi), et donc pour cela
je me suis lancé corps et âme dans le xmlhttprequest. J'explique mon
problème:
Apparemment il faut donner dans la fonction le nom de la
page sur laquelle on veut que le resultat s'affiche. Pour mieux
comprendre, voici l'architecture de mon site (utilisation de frame):
- parmi toutes les frames de l'index, il y en a une qui s'appelle "page_centrale"
- dans cette page, il y a deux frames nommées textarea_user, et conversation.
- dans textarea_user, il y a une textarea et un bouton submit pour envoyer les données.
-
dans conversation, il devrais normalement y avoir l'affichage de ce que
l'utilisateur à tapé dans la zone de texte de textarea_user.
Le
problème, c'est que rien ne s'affiche dans cette dernière page. Quand
je clique sur envoyer, mon message disparait bien de l'écran, et la
page se charge comme dans les exemples de tuto sur le xmlhttprequest,
mais le message ne s'affiche pas. voici un bout de code pour que vous
puissiez voir ce que j'ai fait:
page textarea_user
<form name='textarea_user' id='textarea_user' method='post' onSubmit='return checkDial()'>
<textarea name='champ_ecriture' rows="4" cols="135"></textarea>


'>
</form>

page conversation:
if(isset($_POST['champ_ecriture']) && !empty($_POST['champ_ecriture']))
{
echo 'Bravo '.$_POST['champ_ecriture'].' vous avez r&eacute;ussi en POST' ;
}
else
{
echo 'Erreur le champ est vide';
}

Je
pense que l'erreur vient du nom de la page que j'ai entré
(window.page_centrale.conversation.conversation.php), car je m'y
connait assez mal en javascript
Comme vous pouvez le voir, quand je dis rien ne s'affiche, il faut comprendre que le message 'Erreur le champ est vide'.
Merci d'avance pour votre aide
David

3 réponses

cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
25 avril 2006 à 15:42
Bonjour

Du HTML et du PHP sur un forum javascript !!! On va essayer de s'en sortir !
Non, tu n'as pas à donner le nom de la page dans laquelle le résultat doit s'afficher, dans la fonction (quelle fonction, au fait ?). Par contre, tu indiques bien quelque-part le nom de la page appelée ( ici, la page PHP qui génère la réponse).

Ton textArea étant déjà défini, dans la réception de la réponse, il faut mettre qqch comme : document.getElementById("...").innerHTML=xho.responseText;
avec : "..." : l'id de ton textarea (non renseigné ici)
xho : ton objet xmlhttpObject

A adapter évidemment en fonction de ta page

Cordialement
Roro webDev
3
David_monchy Messages postés 214 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 23 juin 2006 1
25 avril 2006 à 15:49
Merci beaucoup roro06, effectivement c'était bien cela. Il suffisait de faire ta commande et maintenant tout fonctionne à merveille! Par contre, j'aimerais une petite confirmation sur l'attribut, ou la propriété (je ne sais pas comment on dit mais certains sont très à cheval sur les mots) innerHTML. En effet, d'après ce que j'ai compris, elle représente le contenu de la page web, mais je ne suis pas très sûr... Je sais que je devrais chercher par moi meme mais je n'ai pas trop le temps maintenant, donc si tu ne reponds pas ce n'est pas grave, je chercherai plus tard.
Merci encore
David
0
cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
25 avril 2006 à 16:00
Bonjour

innerHTML, c'est le contenu de ce qui se trouve entre une balise ouvrante et sa balise fermante :
pour un input (qui n'a pas de balise fermante), tu utilises la propriété (c'est le terme) .value
pour un textarea (<textarea></textarea>), tu utilises innerHTML.

Attention : innerHTML n'est pas une recommandation W3C (je crois !)

Cordialement
Roro webDev
0
Rejoignez-nous