Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème en html/javascript

pour mon bbcode

Sujet résolu
    19 octobre 2006 à 19:28:10

    Bonsoir,

    J'ai un petit problème (deux en fait), je suis en train de faire un script pour mon bbcode (enfin on m'a donné un script et je modifie un peu mais mes connaissances en javascript sont médiocres...

    Mais j'ai un petit problème, Internet Explorer me dit qu'il y a une ereur sur la page lorsque je clique sur un bouton et je voudrais que lorsque l'on clique sur un élément de la liste la liste revienne sur sa valeur "selected".

    Voici mon code html:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>

      <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" />
      <title></title>


      <link rel="stylesheet" media="screen" type="text/css" href="textes.css" />

      <script src="bbcode.js" type="text/javascript"></script>
    </head>

    <body>

    <form method="post" action="parsage.php" name="news">
      <input class="gras" style="padding-left: 3px; padding-right: 3px;" onclick="balise('texte', '[g]', '[/g]');" value="G" type="button" />
      <input class="souligne" style="padding-left: 3px; padding-right: 3px;" onclick="balise('texte', '[u]', '[/u]');" value="U" type="button" />
      <input class="italique" style="padding-left: 3px; padding-right: 3px;" onclick="balise('texte', '[i]', '[/i]');" value="I" type="button" />
      <input class="barre" style="padding-left: 3px; padding-right: 3px;" onclick="balise('texte', '[b]', '[/b]');" value="B" type="button" />
      <input style="padding-left: 3px; padding-right: 3px;" onclick="lien('texte');" value="Lien" type="button" />
      <input style="padding-left: 3px; padding-right: 3px;" onclick="email('texte');" value="Email" type="button" />
      <input style="padding-left: 3px; padding-right: 3px;" onclick="image('texte');" value="Image"type="button" />
     
      <br />
     
    <select onchange="balise('texte', '[taille:'+this.value+']', '[/taille]'); this.options[0].selected = true;">
    <option disabled="disabled" selected="selected">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>


    <br /><br />
      <textarea cols="50" rows="10" id="texte"></textarea></form>

    </body>

    </html>


    et mon code javascript:

    function balise(id_champ, balise1, balise2) {
            var champ = document.getElementById(id_champ);
            var scroll_position = champ.scrollTop;
            champ.focus();
            if(balise2 == '') { balise1 = ' '+balise1+' '; }
            if(typeof document.selection != 'undefined') {
                    var range = document.selection.createRange();
                    var chaine_select = range.text;
                    range.text = balise1 + chaine_select + balise2;

                    range = document.selection.createRange();
                    if(chaine_select.length == 0) {
                            range.move('character', -balise2.length);
                    } else {
                            range.moveStart('character', balise1.length + chaine_select.length + balise2.length);
                    }
                    range.select();
            } else if(typeof champ.selectionStart != 'undefined') {
                    var curseur_debut = champ.selectionStart;
                    var curseur_fin = champ.selectionEnd;
                    var chaine_debut = champ.value.substr(0, curseur_debut);
                    var chaine_fin = champ.value.substr(curseur_fin);
                    var chaine_select = champ.value.substring(curseur_debut, curseur_fin);
                    champ.value = chaine_debut + balise1 + chaine_select + balise2 + chaine_fin;

                    var curseur_position;
                    if (chaine_select.length == 0) {
                            curseur_position = curseur_debut + balise1.length;
                            champ.selectionStart = curseur_position;
                    champ.selectionEnd = curseur_position;
                    } else {
                            champ.selectionStart = curseur_debut + balise1.length;
                    champ.selectionEnd = curseur_debut + balise1.length + chaine_select.length;
                    }
            } else {
                    champ.value += balise1 + balise2;
            }
            champ.scrollTop = scroll_position;
            apercu(id_champ, id_champ+'_apercu');
    }

    function lien(id_input) {
            var url = prompt('Veuillez entrer l\'adresse de votre lien :', 'http://');
            if(url != '' && url != null && url != 'http://') {
                    balise(id_input, '<lien:'+url+'>', '</lien>');
            }
    }

    function email(id_input) {
            var email = prompt('Veuillez entrer l\'adresse de l\'email :', '');
            if(email != '' && email != null) {
                    balise(id_input, '<email:'+email+'>', '</email>');
            }
    }

    function image(id_input) {
            var img = prompt('Veuillez entrer l\'adresse de l\'image :', 'http://');
            if(img != '' && img != null && img != 'http://') {
                    balise(id_input, '<image:'+img+'>', '');
            }
    }


    Merci d'avance pour vos réponses !!!
    • Partager sur Facebook
    • Partager sur Twitter
      19 octobre 2006 à 19:46:25

      La fontion apercu n'est pas déclarée, enfin, c'est ce que j'ai comme erreur.

      apercu(id_champ, id_champ+'_apercu');
      • Partager sur Facebook
      • Partager sur Twitter
        19 octobre 2006 à 19:53:38

        Ha merci j'ai plus d'erreur mais comment faire pour que la liste revienne sur sa valeur initiale lorque l'on a cliqué dessus et utilise tu un programme pour voir les erreurs ? si oui le quel ?

        Et merci pour ta réponse ;)

        EDIT: Ha avec cette erreur résolue le reour a la valeur initiale de la ligne fonctionne :D
        • Partager sur Facebook
        • Partager sur Twitter
          19 octobre 2006 à 20:00:45

          Pour voir les erreurs, la console javascript de firefox ;)
          • Partager sur Facebook
          • Partager sur Twitter
            19 octobre 2006 à 20:09:56

            Ok merci beaucoup !!!!!

            Bonne soirée
            • Partager sur Facebook
            • Partager sur Twitter

            Problème en html/javascript

            × 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