Pour les pros du HTML

Pour les pros du HTML - Programmation

Marsh Posté le 07-08-2001 à 11:32:58    

Je souhaiterai afficher un texte saisi dans une zone de texte sans perdre les retours chariot mais avec une largeur max fixe (400 pixel).
J'ai donc pensé à utiliser la balise <pre>
Elle prend bien en compte le retour chariot mais pas la largeur. Et si je mets <pre width='400'> ça marche pas non plus  :(  
 
Si l'un de vous à une solution, ce serai super !

Reply

Marsh Posté le 07-08-2001 à 11:32:58   

Reply

Marsh Posté le 07-08-2001 à 11:43:09    

HAL a écrit a écrit :

Je souhaiterai afficher un texte saisi dans une zone de texte sans perdre les retours chariot mais avec une largeur max fixe (400 pixel).
J'ai donc pensé à utiliser la balise <pre>
Elle prend bien en compte le retour chariot mais pas la largeur. Et si je mets <pre width='400'> ça marche pas non plus  :(  
 
Si l'un de vous à une solution, ce serai super !  




 
ben à mon humble avis, les solutions qui se présentent à moi c'est :
    - soit, via un javascript, écrire ton texte dans un tableau aux bonne dimensions, et avec la bordure = 0,
    - soit, toujours avec un javascript, analyser la chaine de caractères saisie et à chaque caracère dont le code ASCII est 13 (le return), ben tu insère une balise <BR>
 
   ok? :jap:

Reply

Marsh Posté le 07-08-2001 à 11:55:49    

Hum bien que width fasse partie des specifications du W3C, il n'est pas supporte par la plupart des browser (sauf Mozilla sans doute :D). Tu es sous quoi? Sous IE? Je pensais que la derniere version d'IE le supportait pourtant...my mistake !
 
De toute facon, a ma connaissance, <pre width="400"> (et non '400') ne specifie pas le nombre max de pixel mais le nombre max de caracteres...Ce qui change pas mal de chose !!
 
Essaie avec ca a l'esprit !! Peut etre que ca depasse parce que tu crois que c'est des pixels ! :)


---------------
Si t'es pas net, reste a la buvette
Reply

Marsh Posté le 07-08-2001 à 12:17:04    

Rufo > Merci mais je ne connais pas le javascript. Pourrais tu me passer le bout de code ?
 
Willythekid > c'est pas <pre width="400">  ou <pre cols="80"> ?

Reply

Marsh Posté le 07-08-2001 à 12:25:20    

Pour etre plus precis, <pre width="400"> est la bonne syntaxe et il n'y a d'ailleur pas d'autre attributs (a part les traditionnels font-machin_chose) pour ce tag. ("cols"...connait pas ! :) )
 
Seulement il ne specifie pas une longeur en pixel mais une longeur en caracteres !! Et ca change pas mal de chose (quand ca marche !)


---------------
Si t'es pas net, reste a la buvette
Reply

Marsh Posté le 07-08-2001 à 14:14:58    

Willythekid > OK pour les charactères plutot que les pixels  
Pour info, COLS c'est pour Netscape seulement, il y a même un attribut WRAP.
Je pensais que c'était des pixels car la doc était pas super claire mais j'ai fait le test avec 10 pour voir et c'est pourri   :cry:  
Merci de la réponse
 
 
Pour le javascript, comment on analyse la chaîne pour mettre des <BR>

Reply

Marsh Posté le 07-08-2001 à 18:12:04    

pour info, l'attribut WIDTH existe pour <PRE>, mais c'est en caractères.
sur http://perso.libertysurf.fr/chris.jav
ben tu peux trouver mon soft (OADSW) qui aide les gens à la création de pages html. Y'a une aide sur le HTML, et bientôt sur le php et javascript :)
 
sinon, côté javascript, c'est un truc du genre:
<SCRIPT>
var machaine = new String("" ) ;
 
function Analyse(Chaine)
{
    var Resultat = new String("" ) ;
    var Indice = new Number(0) ;
    var Old_Indice = new Number(0) ;
 
    while (Indice < Chaine.length)
    {
        if (Chaine.CharCodeAt(Indice) == 13)
        {
            if (Indice > 0)
            {
                Resultat = Chaine.slice(Old_Indice, Indice-1) ;
                Resultat = Resulat.concat(' <BR> ') ;
                Old_Indice = Indice - 1 ;
            }
            else
            {
                Resultat = Resultat.concat('<BR> ') ;
            }
        }
 
        Indice++ ;
    }
 
    return Resultat ;    
}
</SCRIPT>
...
 
<BODY....>
....
//tes données
<TEXTAREA ID=Txt>...</TEXTAREA>
<SCRIPT>
machaine = Txt.value ;
document.write(Analyse(machaine)) ;
</SCRIPT>
...
</BODY>

Reply

Marsh Posté le 07-08-2001 à 18:15:05    

normalement, ça devrait marcher... peut-être une ou 2 modifs ...

Reply

Marsh Posté le 08-08-2001 à 11:49:37    

Merci Rufo, je test ça au plus tard ce soir  :hello:

Reply

Marsh Posté le 09-08-2001 à 11:27:13    

Nickel !
Merci à tous  :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed