JeuWeb - Crée ton jeu par navigateur
Bouton "citer" en JavaScript - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Bouton "citer" en JavaScript (/showthread.php?tid=2522)

Pages : 1 2


Bouton "citer" en JavaScript - php_addict - 16-09-2010

bonsoir

je voudrais améliorer la messagerie privé de mon jeu...

je veut tenter de faire une function en JS mais je n'ai aucune idée de comment faire...

vous savez, le bouton "citer quelqu'un" dans ce forum, cela remplit le formulaire

et bien je voudrait faire ceci:

remplir un textarea d'un formulaire en javascript...


<div id="la_div_que_je_veut_citer">
bla<br />
bla<br />
bla<br />
</div>

<textarea id="a_remplir"></textarea >

premier soucis:

ma div id="la_div_que_je_veut_citer" est du HTML , je peut en récupérer le contenu en Javascript mais il y aura dans balises html. vous me direz: remplace les <br /> en retour à la ligne mais 2eme soucis:

2eme soucis:

le contenu de ma div est du texte contenant du bbcode parsé...donc les<strong></strong> doivent être transformer en [ b ][ /b ] dans mon textarea...

bref la galère

il y a bien la solution de l'ajax, c'est à dire de récupérer mes données en bdd et les mettre dans mon textarea, mais c'est pas un peu lourd ca...??

explication graphique de ce que je veut obtenir:

[Image: blablalu.jpg]

auriez vous une piste s'il vous plait?

merci de m'avoir lu, peut être n'ai pas été clair...


RE: Bouton "citer" en JavaScript - Ter Rowan - 16-09-2010

en regardant le code de la page ici, le bouton (image en fait) [reply] donne href="newreply.php?tid=6933&pid=85710" donc a priori ce n'est pas de l'ajax (dans le sens ou ça recharge toute la page) mais ça récupère bien les données en bdd


RE: Bouton "citer" en JavaScript - php_addict - 16-09-2010

(16-09-2010, 11:38 PM)Ter Rowan a écrit : en regardant le code de la page ici, le bouton (image en fait) [reply] donne href="newreply.php?tid=6933&pid=85710" donc a priori ce n'est pas de l'ajax (dans le sens ou ça recharge toute la page) mais ça récupère bien les données en bdd

donc mieux vaut que je fasse pas en JavaScript avec genre document.getElementById(divid).InnerHTML

et que penses tu de faire ca en ajax sachant que ceux qui n'ont pas javascript activé n'auront pas cette fonctionnalité ? ceci dit ils sont peu nombreux...


RE: Bouton "citer" en JavaScript - Sephi-Chan - 17-09-2010

Pour ceux qui ont Javascript, tu récupères le contenu du message et tu l'injectes dans la zone de texte. Pour ceux qui ne l'ont pas, le bouton envoie sur une page de réponse avec le formulaire prérempli avec le contenu du message à l'identifiant donné.

Du coup, ceux qui ont Javascript peuvent faire des citations multiples alors que ceux qui ne l'ont pas peuvent ne citer qu'un message à la fois.

Le bouton peut-être un lien ou un formulaire contenant seulement un bouton submit, et sur l'événement onclick, tu appelles event.preventDefault(); pour ne pas suivre l'URL de l'attribut action ou du href.


Sephi-Chan


RE: Bouton "citer" en JavaScript - Ter Rowan - 17-09-2010

(16-09-2010, 11:47 PM)php_addict a écrit : et que penses tu de faire ca en ajax sachant que ceux qui n'ont pas javascript activé n'auront pas cette fonctionnalité ? ceci dit ils sont peu nombreux...

ma "relation" avec ajax pour ce type de fonctionnalité est particulière.

je dirais que cela dépend de ton jeu :

hypothèse 1 : la [messagerie privée] fait partie des 2 - 3 fonctionnalités majeures de ton jeu (le gameplay est basé dessus, il est normal de passer beaucoup de temps à répondre à des messages, etc...) alors à toi de voir si l'expérience utilisateur ajax versus chargement complet est utile (dans l'absolu et aussi au regard de l'effort à déployer en plus pour toi à réaliser cela en ajax)

hypothèse 2 : ton jeu fonctionne sans ajax ailleurs ( a fortiori sans javascript), alors non, inutile de poser de l'ajax ici (sauf éventuellement si hypothèse 1)

hypothèse 3 : ton site est full ajax (ce n'est pas un site finalement, c'est une application sur le poste client qui s'appuie sur le navigateur pour élaborer son contenu) alors reste dans cette démarche et pose de l'ajax, ça ne devrait rien te coûter

hypothèse 4 : tu te positionnes un peu au milieu des hypothèses précédentes, ben... à toi de placer le curseur :p


RE: Bouton "citer" en JavaScript - php_addict - 17-09-2010

merci pour vos avis éclairés

effectivement le bouton "citer" ne serait qu'un plus agréable pour l'utilisateur

etant donné que j'ai déjà un peu d'ajax, je vais opter pour cette solution en retenant la proposition de Sephi-Chan si il n' a pas JS activé

merci une fois de plus

bonne journée !


RE: Bouton "citer" en JavaScript - php_addict - 17-09-2010

c'est bon j'ai mis en place la partie ajax, mais je me retrouve avec un petit probleme de DOM:


var text= receiveReq.responseText;
document.getElementById('textarea_of_mp').innerHTML = text;

ceci marche tres bien, cela remplit mon textarea_of_mp avec mon text

le soucis c'est que cela ne fonctionne pas quand:

- le texte area est vide
- puis on ecrit dedans
- on appuis sur le bouton "citer", alors le textarea textarea_of_mp ne se remplit pas...

pour le moment je n'utilise pas Jquery mais ne serait ce pas le moment ?

encore merci...


RE: Bouton "citer" en JavaScript - Sephi-Chan - 17-09-2010

(17-09-2010, 01:59 PM)php_addict a écrit : pour le moment je n'utilise pas Jquery mais ne serait ce pas le moment ?

Carrément, si. Parce que là j'allais te demander de nous montrer plus de code, mais je dois avouer que j'ai pas du tout envie de lire de l'Ajax manuel tout moche. :p


Sephi-Chan


RE: Bouton "citer" en JavaScript - php_addict - 17-09-2010

(17-09-2010, 02:11 PM)Sephi-Chan a écrit :
(17-09-2010, 01:59 PM)php_addict a écrit : pour le moment je n'utilise pas Jquery mais ne serait ce pas le moment ?
Carrément, si. Parce que là j'allais te demander de nous montrer plus de code, mais je dois avouer que j'ai pas du tout envie de lire de l'Ajax manuel tout moche. :p

:hahahaha: d'accord avec toi.

mais ici le soucis ce n'est pas mon ajax tout moche mais de pouvoir remplir en JS un textarea ou l'on vient juste d'ecrire dedans Wink


RE: Bouton "citer" en JavaScript - Sephi-Chan - 17-09-2010

Justement. Quand tu appelles document.getElementById('textarea_of_mp').innerHTML, tu récupères le HTML qu'il contient au niveau du code source. Donc sans compter ce que l'utilisateur a pu écrire dedans. Alors qu'avec jQuery tu pourras faire $('textarea_of_mp').val() pour récupérer le contenu. Tu peux le faire manuellement, mais c'est chiant (car pas cross browser, notamment).


Sephi-Chan