Ecrire le contenu d'un textarea modifier avec du javascript

Eléphant du PHP | 106 Messages

18 nov. 2006, 13:45

peu tu preciser?

Ton code ne marche pas. je pense que cela vient qu'il n'y a pas de previsualisation en direct.

Eléphant du PHP | 106 Messages

18 nov. 2006, 13:48

voici ce que j'ai mit et qu'il ne modifie rpas :

Code : Tout sélectionner

<div id="apercu">[italic][/italic]</div> <div style="border: 1px dashed #FFFFFF; padding: 0.2em; height: auto; overflow: auto; width: 750px; background-color: #eaeaea;" align="left" id="prev"></div>

Mammouth du PHP | 19672 Messages

18 nov. 2006, 13:53

Préciser quoi au juste ???

J'essaye de faire en sorte que tu arrives à saisir le déroulement de ton application de façon logique et cohérente. J'ai visiblement échoué dans cette tentative :?

Tu essayes d'aller plus vite que la musique et ça aboutit à la seule conclusion possible : tu te mélanges les pinceaux et rien ne fonctionne comme tu voudrais. Mais tu ne décomposes pas le problème correctement et tu essayes d'utiliser un langage là où un autre serait plus approprié pour des raisons que je t'ai déjà exposées.

Le bout de code que je t'ai mis, c'est ton propre code un peu éclairci et auquel je n'ai rajouté qu'une seule ligne. éventuellement, rajoute un alert(t) pour voir ce que ça donne après chaque transformation :
function previsualisation() 
{
    t = document.formulaire.textarea.value;
    /* Affichage du texte tel que saisi */
    alert(t);
    t = code_to_html(t);
    /* Affichage du texte après transformation des bbCodes */
    alert(t);
    t = '<div id="apercu">'+ t +'</div>';
    /* Affichage du texte modifié inséré dans un bloc <div> */
    alert(t);
    if (document.getElementById)  
    {
        document.getElementById("prev").innerHTML = t;
    }
    if (document.formulaire.auto.checked)
    {
        timer=setTimeout(previsualisation,1);
    }
}
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 106 Messages

18 nov. 2006, 13:59

Merci beaucoup mais que dois-je mettre sur ma page pour que ce qui s'affiche est compris entre les balise : <div id="avantapercu"></div>
Cela doit-etre cela qu'il faut modifier : t = document.formulaire.textarea.value;

Mammouth du PHP | 19672 Messages

18 nov. 2006, 14:16

BOn, là, je vais te suggérer un truc. Ça na va pas accélérer ton développement, mais il est indispensable que tu procèdes comme ça avant d'aller plus loin. Avec un peu d'habitude, tu finiras par sauter quelques étapes, mais pour le moment, tu ne peux pas le faire.

Règle de base pour apprendre à développer un site dynamique.

Pour développer un site dynamique, il faut distinguer :
- L'interface graphique du site;
- Les informations affichées;
- les effets et évènements;

Première étape : définir l'interface graphique et monter une maquette en HTML pur avec éventuellement mise en page en CSS, mais ni JavaScript, ni PHP ni aucun langage serveur. Le contenu doit être en dur. But de l'opération : mettre au point le code HTML final qu'on veut obtenir.

Seconde étape : à partir du résultat de l'étape précédente, on va dynamiser un peu en ajoutant le JavaScript et les évènements. Ça veut dire que la page pourra évoluer dynamiquement selon certain évènements déclenchés au clavier ou à la souris; Pas de langage serveur tant que ce n'est pas au point. Et On ne touche plus à la structure HTML.

Troisième étape : manipulation de données et construction de la page en PHP. À partir du résultat de l'étape 2, on découpe tout ça, les parties qu'on retrouvera sur toutes les pages et les parties propres à chaque page. Reconstruire la page en PHP par inclusion de fichiers. On ne touche pour l'instant pas à la base de données. On ne touche plus non plus à la structure HTML, pas davantage au JavaScript.

Dernière étape, on accède aux données en SQL. Mise au point des requêtes directement via phpMyAdmin, puis, quand les requêtes sont convenablement construites, on modifie le code PHP pour remplacer le contenu jusque là écrit "en dur" par du contenu en provenance de la base de données. On ne touche plus au HTML, ni au JavaScript.

Idée générale : on ne mélange pas les genres : quand on fait du JavaScript, on ne fait pas du HTML, quand on fait du SQL, ce n'est pas du PHP. On travaille un langage à la fois en fonction du besoin couvert par ce langage.

Si tu ne suis pas ce schéma de fonctionnement, tu vas perdre ton temps et accessoirement celui des autres à qui tu poseras des questions. Mais si tu t'en tiens à cette discipline, tu apprendras à discerner ce qui fait quoi et tu te retrouveras très rapidement dans ce que tu fais. Et ça aura un autre avantage non négligeable : lorsque tu poseras une question, tu sauras logiquement la formuler correctement tout de suite, ce qui correspondra à 80% de la réponse.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 106 Messages

18 nov. 2006, 14:28

merci beaucoup pour cet mise au point. Je comprend le rapport avec mon probleme. Mais cela ne le resoud pas.

Eléphant du PHP | 106 Messages

18 nov. 2006, 14:39

Je ai essayer de me réexplqiuer plus clairement car je ne pense pas que l'on se comprenne :
1-on ecrit du texte dans un textarea
2-on modifier ce texte avec le fichier prev.js
3-on ecrit dans un div id="apercu" le texte modifier
4-on valide le formulaire puis on enregistrer le texte non transformer dans un fichier texte
5-on inclue se fichier texte dans une page php avec la fonction include
6-sur le navigateur on lit le fichier et on constate la presence du bbcode normal.
7-on transforme ce texte avec le fichier prev2.js
8-on afffiche plus bas 2 lignes en dessous le bbcode modifier grace au fichier prev2.js

Voila ce que je voudrai faire c'est le fichier prev2.js. J'ai tenu compte de tes recomandations et je verrai plus tard pour le faire en php mais pour l'instant c'est le fichier prev2.js qui m'interesserai.

Pouvez-vous le modifier et me le poster s'il vous plait. Je vous en saurait reconnaisant.

Eléphant du PHP | 106 Messages

18 nov. 2006, 17:41

s'il te plait ide moi. :cry: :cry: :cry:

Mammouth du PHP | 19672 Messages

18 nov. 2006, 19:08

Je me demande si ça sert à quelque chose, je t'ai expliqué une tonne de trucs, ça n'a rien changé, tu continues sur les mêmes méthodes, je ne peux pas y faire grand chose. Le développement Web, ça ne s'improvise pas, on y va pas au petit bonheur en espérant que ça fonctionne. On programme avec rigueur et logique. Je t'ai indiqué des manières de faire, je ne peux pas faire grand chose de plus. Si ces méthode ne font pas ton bonheur, j'en suis navré, mais je n'y peux rien.

Je crois même t'avoir indiqué mon script de Livre d'Or qui utilise un système de pré-visualisation de l'interface d'administration. Je parie que tu n'as même pas regardé. :?

T'aider, oui, mais fais un minimum d'effort, je ne te mâcherai pas le boulot.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 106 Messages

19 nov. 2006, 15:13

1-J'ai lut ton script sur le livre et vu que tu te servait du php pour le lire le bbcode.
2-Je t'en prie et je te demande simplement de me donner le debut du script a mettre ensuite je ne t'embeterai plus. Ce script n'est pas pour moi mais pour un copain a qui j'ai promite de lui faire en javascript.

Je veut juste faire le fichier prev2.js après je ne t'embetterai plus.

S'il te plait :cry: :cry:

Mammouth du PHP | 19672 Messages

19 nov. 2006, 15:36

Sais-tu comment faire ouvrir une fenêtre entièrement construite en JavaScript, même basique ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 106 Messages

19 nov. 2006, 15:39

oui sur mon site j'ai une dizaine de page avec chacune une popup.

S'il te plait aide moi. Je te demande vraiment pas grand chose : de me mettre le debut du script pou recuperer un texte entre 2 balise ppuis la fin du script pour ecrit le text tralsformer entre 2 autres balise.

Mammouth du PHP | 19672 Messages

19 nov. 2006, 15:48

Une minute, va pas plus vite que la musique.

Bon, si tu sais créer une fenêtre en JavaScript, il faut maintenant y mettre un contenu dynamique. Pour ça, tu vas récupérer ce qui a été saisi dans le formulaire. Et pour faire ça, il va falloir utiliser le DOM (Document Object Model)

Il faut dans un premier temps que la balise form et les champs de saisie de ton formulaire aient chacun un attribut "id". Si par exemple tu as dans un form avec l'id "nouveaumsg" un textarea qui a pour id la valeur "msg", pour récupérer le contenu avec JavaScript, tu vas faire ça:

Code : Tout sélectionner

var message = document.forms['nouveaumsg'].elements['msg'].value;
Tu as maintenant une variable avec le texte saisi. À partir de là, tu peux appeler les fonctions de transformation que tu as montré au départ de ce sujet et ensuite tu l'insères dans la page en cours de montage qui doit s'ouvrir en pop-up.

Est-ce que tu as bien saisi le fonctionnement ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 106 Messages

19 nov. 2006, 15:56

ah peut pret sauf que je ne veut pas le faire dans une popup.
As tu une adresse msn pour qu'on parle en direct parce que je ne coit pas que l'on se comprenne bien. Je doit avoir du mal a explqiuer mon probleme et je m'en excuse. Voila ce que je t'ai dit :

1-on ecrit du texte dans un textarea
2-on modifier ce texte avec le fichier prev.js
3-on ecrit dans un div id="apercu" le texte modifier
4-on valide le formulaire puis on enregistrer le texte non transformer dans un fichier texte
5-on inclue se fichier texte dans une page php avec la fonction include
6-sur le navigateur on lit le fichier et on constate la presence du bbcode normal.
7-on transforme ce texte avec le fichier prev2.js
8-on afffiche plus bas 2 lignes en dessous le bbcode modifier grace au fichier prev2.js

Voila ce que je voudrai faire c'est le fichier prev2.js. J'ai tenu compte de tes recomandations et je verrai plus tard pour le faire en php mais pour l'instant c'est le fichier prev2.js qui m'interesserai.

je ne voit pas ou est ce qu'il y a marquer une popup, je ne voit pas ou est-ce qu'il y a marquer que je veut le restituer dans un formulaire.

Mammouth du PHP | 19672 Messages

19 nov. 2006, 16:00

Ben alors au lieu d'ouvrir un pop-up, tu formate la chaine récupérée exactement comme je te l'ai indiqué et tu l'insères avec innerHTML, le principe est le même.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: