David_monchy
Messages postés214Date d'inscriptionlundi 20 mars 2006StatutMembreDernière intervention23 juin 2006
-
25 avril 2006 à 14:40
cs_roro06
Messages postés732Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention29 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é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
cs_roro06
Messages postés732Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention29 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
David_monchy
Messages postés214Date d'inscriptionlundi 20 mars 2006StatutMembreDernière intervention23 juin 20061 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
cs_roro06
Messages postés732Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention29 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 !)