Partage
  • Partager sur Facebook
  • Partager sur Twitter

[JS] Lors du clic, rien ne se passe.

    18 juillet 2006 à 19:58:29

    Bonsoir,
    je voudrais savoir, pour ceux qui connaissent javascript, pourquoi dans ce code :

    function apercu(id_input, id_apercu) {
            var input = document.getElementById(id_input);
            var input_contenu = input.value;

            input_contenu = input_contenu.replace(/</g, '&lt;');
            input_contenu = input_contenu.replace(/>/g, '&gt;');
            input_contenu = input_contenu.replace(/\n/g, '<br />');

            input_contenu = input_contenu.replace(/<a href="((https?|ftp):\/\/\S+[a-zA-Z0-9]\/?)">(.+?)<\/a>/g, '<a href="$1">$3</a>');
            input_contenu = input_contenu.replace(/<a href="([a-zA-Z0-9_.-]+@[a-zA-Z0-9_.-_.-]+\.[a-z]{2,4})">(.+?)<\/a>/g, '<a href="mailto:$1">$2</a>');
            input_contenu = input_contenu.replace(/<img src="((https?|ftp):\/\/\S+[a-zA-Z0-9]\/?)" \/>/g, '<img src="$1" alt="" />');
            input_contenu = input_contenu.replace(/<div class="separation"><\/div><br \/>/g, '<div class="separation"></div>');   
            input_contenu = input_contenu.replace(/<div class="separation"><\/div>/g, '<div class="separation"></div>');

            while(input_contenu.search(/<span class=(arial|times|courier|impact|verdana)>(.+?)<\/span>/g) != -1) {
                    input_contenu = input_contenu.replace(/<span class=(arial|times|courier|impact|verdana)>(.+?)<\/span>/g, '<span class="$1">$2</span>');
            }
            while(input_contenu.search(/&lt;taille:(minuscule|petit|moyenpetit|moyengrand|grand|enorme)&gt;(.+?)&lt;\/taille&gt;/g) != -1) {
                    input_contenu = input_contenu.replace(/&lt;taille:(minuscule|petit|moyenpetit|moyengrand|grand|enorme)&gt;(.+?)&lt;\/taille&gt;/g, '<span class="$1">$2</span>');
            }
            input_contenu = input_contenu.replace(/&lt;\/aligner&gt;<br \/>/g, '&lt;\/aligner&gt;');
            while(input_contenu.search(/&lt;aligner:(gauche|droite|centre|justifie)&gt;(.+?)&lt;\/aligner&gt;/g) != -1) {
                    input_contenu = input_contenu.replace(/&lt;aligner:(gauche|droite|centre|justifie)&gt;(.+?)&lt;\/aligner&gt;/g, '<div class="$1">$2</div>');
            }
            while(input_contenu.search(/<span class='(gras|italique|souligne|barre|suligne|surligne|encadre)'>(.+?)<\/span>/g) != -1) {
                    input_contenu = input_contenu.replace(/<span class='(gras|italique|souligne|barre|suligne|surligne|encadre)'>(.+?)<\/span>/g, '<span class="$1">$2</span>');
            }
            while(input_contenu.search(/&lt;couleur:(#[a-zA-Z0-9]+)&gt;(.+?)&lt;\/couleur&gt;/g) != -1) {
                    input_contenu = input_contenu.replace(/&lt;couleur:(#[a-zA-Z0-9]+)&gt;(.+?)&lt;\/couleur&gt;/g, '<span style="color:$1">$2</span>');
            }
            while(input_contenu.search(/&lt;titre:(1|2)&gt;(.+?)&lt;\/titre&gt;/g) != -1) {
                    input_contenu = input_contenu.replace(/&lt;titre:(1|2)&gt;(.+?)&lt;\/titre&gt;/g, '<span class="titre$1">$2</span>');
            }

            input_contenu = input_contenu.replace(/&lt;liste&gt;<br \/>/g, '&lt;liste&gt;');
            input_contenu = input_contenu.replace(/&lt;\/liste&gt;<br \/>/g, '&lt;/liste&gt;');
            input_contenu = input_contenu.replace(/&lt;\/puce&gt;<br \/>/g, '&lt;/puce&gt;');
            while(input_contenu.search(/&lt;liste&gt;(.+?)&lt;\/liste&gt;/g) != -1) {
                    input_contenu = input_contenu.replace(/&lt;liste&gt;(.+?)&lt;\/liste&gt;/g, '<ul>$1</ul>');
            }
            while(input_contenu.search(/&lt;puce&gt;(.+?)&lt;\/puce&gt;/g) != -1) {
                    input_contenu = input_contenu.replace(/&lt;puce&gt;(.+?)&lt;\/puce&gt;/g, '<li class="puce">$1</li>');
            }

            input_contenu = input_contenu.replace(/&lt;\/citation&gt;<br \/>/g, '&lt;/citation&gt;');
            while(input_contenu.search(/&lt;citation:(.+?)&gt;(.+?)&lt;\/citation&gt;/g) != -1) {
                    input_contenu = input_contenu.replace(/&lt;citation:(.+?)&gt;(.+?)&lt;\/citation&gt;/g, '<div class="citation_auteur">Citation : $1</div><div class="citation">$2</div>');
            }
            while(input_contenu.search(/&lt;citation&gt;(.+?)&lt;\/citation&gt;/g) != -1) {
                    input_contenu = input_contenu.replace(/&lt;citation&gt;(.+?)&lt;\/citation&gt;/g, '<div class="citation_auteur">Citation : Auteur inconnu</div><div class="citation">$1</div>');
            }

            document.getElementById(id_apercu).innerHTML = input_contenu;
            var pourcentage_actuel_input = Math.round((100*input.scrollTop)/input.scrollHeight);
            var hauteur_apercu = Math.round((pourcentage_actuel_input*document.getElementById(id_apercu).scrollHeight)/100);
            document.getElementById(id_apercu).scrollTop = hauteur_apercu;
    }

    lorsque je suis dans mon formulaire pour créer mes pages, je clique sur G ( pour mettre en gras) et rien ne s'affiche ( il devrait y'avoir <span class='gras'> )

    Le fichier suivant est le formulaire, et d'après moi, lorsque je clique sur G, il devrait y'avoir d'affiché <span class='gras'> mais ça ne s'affiche pas.

    <input type="button" value="+" id="boutton_plus_texte" style="width:17px;" onclick="balise_masque(\'balise_plus_texte\', this.id);" />
    <input type="button" value="G" class="gras" onclick="balise(\'texte\', \'<span class=\'gras\'>\', \'</span>\');" />
    <input type="button" value="I" class="italique" onclick="balise(\'texte\', \'<span class=\'italique\'>\', \'</span>\');" />
    <input type="button" value="S" class="souligne" onclick="balise(\'texte\', \'<style:souligne>\', \'</style>\');" />
    <input type="button" value="B" class="barre" onclick="balise(\'texte\', \'<style:barre>\', \'</style>\');" />
    <input type="button" value="Citation" onclick="citation(\'texte\');" />
    <input type="button" value="Liste" onclick="liste(\'texte\');" />
    <input type="button" value="Lien" onclick="lien(\'texte\');" />
    <input type="button" value="Email" onclick="email(\'texte\');" />
    <input type="button" value="Image" onclick="image(\'texte\');" />
    <br />
    <span id="balise_plus_texte" style="display:none;">
    <input type="button" value="Separation" onclick="balise(\'texte\', \'<separation>\', \'\');" />
    <input type="button" value="Suligné" onclick="balise(\'texte\', \'<style:suligne>\', \'</style>\');" />
    <input type="button" value="Surligné" onclick="balise(\'texte\', \'<style:surligne>\', \'</style>\');" />
    <input type="button" value="Encadre" onclick="balise(\'texte\', \'<style:encadre>\', \'</style>\');" />
    <br />
    </span>
    <select onchange="balise(\'texte\', \'<police:\'+this.value+\'>\', \'</police>\'); this.options[0].selected = true;">
    <option class="select_titre" selected="selected" disabled="disabled">Polices</option>
    <option class="arial" value="arial">Arial</option>
    <option class="times" value="times">Times New Roman</option>
    <option class="courier" value="courier">Courier</option>
    <option class="impact" value="impact">Impact</option>
    <option class="verdana" value="verdana">Verdana</option>
    </select>
    <select onchange="balise(\'texte\', \'<taille:\'+this.value+\'>\', \'</taille>\'); this.options[0].selected = true;">
    <option class="select_titre" selected="selected" disabled="disabled">Tailles</option>
    <option value="minuscule">Minuscule</option>
    <option value="petit">Petit</option>
    <option value="moyenpetit">Moyen petit</option>
    <option value="moyengrand">Moyen grand</option>
    <option value="grand">Grand</option>
    <option value="enorme">Enorme</option>
    </select>
    <select onchange="balise(\'texte\', \'<couleur:#\'+this.value+\'>\', \'</couleur>\'); this.options[0].selected = true;">
    <option class="select_titre" selected="selected" disabled="disabled">Couleurs</option>
    <option style="color: #000000;" value="000000">Noir</option>
    <option style="color: #454545;" value="454545">Gris foncé</option>
    <option style="color: #757575;" value="757575">Gris</option>
    <option style="color: #441677;" value="441677">Violet</option>
    <option style="color: #162277;" value="162277">Bleu foncé</option>
    <option style="color: #13609c;" value="13609c">Bleu</option>
    <option style="color: #177531;" value="177531">Vert foncé</option>
    <option style="color: #00ac31;" value="00ac31">Vert</option>
    <option style="color: #fff100;" value="fff100">Jaune</option>
    <option style="color: #ffb400;" value="ffb400">Orange</option>
    <option style="color: #ff88f8;" value="ff88f8">Rose</option>
    <option style="color: #ff0000;" value="ff0000">Rouge</option>
    <option style="color: #ffffff;" value="ffffff">Blanc</option>
    </select>
    <select onchange="balise(\'texte\', \'<aligner:\'+this.value+\'>\', \'</aligner>\'); this.options[0].selected = true;">
    <option class="select_titre" selected="selected" disabled="disabled">Aligner</option>
    <option class="gauche" value="gauche">Gauche</option>
    <option class="centre" value="centre">Centre</option>
    <option class="droite" value="droite">Droite</option>
    <option class="justifie" value="justifie">Justifié</option>
    </select>
    <select onchange="balise(\'texte\', \'<titre:\'+this.value+\'>\', \'</titre>\'); this.options[0].selected = true;">
    <option class="select_titre" selected="selected" disabled="disabled">Titres</option>
    <option value="1">Titre 1</option>
    <option value="2">Titre 2</option>
    </select>
    <br />
    <input type="checkbox" id="activ_apercu" onclick="active_apercu(\'texte_apercu\');" checked="checked" /> <label for="activ_apercu">Activer / Désactiver l\'aperçu temps réel</label><br />
    <textarea id="texte" name="texte" cols="50" rows="25" style="width:500px; height: 210px;" onclick="apercu(this.id, \'
    texte_apercu\');" onkeyup="apercu(this.id, \'texte_apercu\');"></textarea>
    <br />
    </div>
    <div id="texte_apercu" class="apercu"></div>
    <br />
     


    C'est peut-être un peu brouillon, mais sachez que ça fait presque 5 jours que je cherche la solution jour et nuit ;)

    Edit: bizarrement, quand j'enlève les ' dans <span class=''>, il s'affiche <span class= >
    Alors ça vient des apostrophes, mmmm...

    Merci à ceux qui m'aideront :)
    • Partager sur Facebook
    • Partager sur Twitter

    [JS] Lors du clic, rien ne se passe.

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown