Problème

Résolu
miximog Messages postés 34 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 14 avril 2007 - 14 avril 2007 à 17:51
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 - 14 avril 2007 à 18:50
Bonjour,
J'ai un probleme, j'ai passé toute l'après-midi à éssayer de faire marcher un script que j'ai trouver sur le net. C'est un classe qui est devrais  créer un textarea dynamique qui ce redimentionne suivant le nombre de ligne que l'on écrit dedans. Enfin bref voici le code en question :

La classe :

function DTextarea(nom,cols)
{
    this.countLines = function() {

        var strtocount=$(nom).value;
        var cols=$(nom).cols;

        var hard_lines = 1;
        var last = 0;
        while (
true ) {
            last = strtocount.indexOf("\n", last+1);

            hard_lines ++;
            if ( last == -1 ) break;

        }
        var soft_lines = Math.round(strtocount.length /
(cols-1));
        var hard = eval("hard_lines  " + unescape("%3e") +
"soft_lines;");
        if ( hard ) soft_lines = hard_lines;

        return soft_lines;
    }

    //est appellé a chaque
frappe sur le clavier
    this.keyhit = function(e) {
        var
touche=(window.Event)?e.which:e.keyCode;//pour savoir s'il s'agit de Msie ou de
Netscape
        if(touche==13 || touche==8 || touche==0)

            $(nom).rows=this.countLines();
    }

    this.show =
function(){
        document.write('<textarea name="'+nom+'"
cols="'+cols+'" rows="2" id="'+nom+'" onkeypress="return
'+nom+'.keyhit(event);"></textarea>');
    }
}

L'utilisation :

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

        var txt = new DTextarea('txt',40);
        txt.show();

   </script>

Le résultat est un textarea tout simple... si quelqu'un a une idée .
Merci d'avance

6 réponses

stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
14 avril 2007 à 18:40
.








*Erreur : $ is not defined
*Fichier source : DTextarea.js
*Ligne : 23



Tu as du mal extraire le code quand tu a trouvé le code, rajoute cette ligne :

var $=function(id){return document.getElementById(id)};



Et si ça ne marche pas non plus comme ça, efface la ligne et remet celle-là :

var $=function(name){return document.all[name]};








<hr />



<hr />
<sub>
STFOU
</sub>
3
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
14 avril 2007 à 18:20
Quel est l'érreur affichée dans la console de debuggage ?

<hr /><hr />STFOU
0
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
14 avril 2007 à 18:20
Quel est l'érreur affichée dans la console de debuggage ?

<hr /><hr />STFOU
0
miximog Messages postés 34 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 14 avril 2007
14 avril 2007 à 18:29
J'ai les érreurs suivante :

Erreur : DTextarea is not defined
Fichier source :utillisation.htm
Ligne : 17

Erreur : $ is not defined
Fichier source : DTextarea.js
Ligne : 23

.......
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
miximog Messages postés 34 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 14 avril 2007
14 avril 2007 à 18:46
Merci beaucoup !!!!!!!
Ca marche oui j'avais pas vu qu'il appelais un fonction $( )
0
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
14 avril 2007 à 18:50
Derien .
Comme quoi, il faut toujours relire son code

<hr /><hr />STFOU
0
Rejoignez-nous