TEXTAREA avec nbr caractères par ligne limité

Résolu/Fermé
Signaler
Messages postés
39
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008
-
 lT4_ -
Bonjour tout le monde !

Je m'en sors pas avec ma fonction textarea... si quelqu'un peut m'aider...

J'explique le problème : je voudrais limiter le nombre de caractère par ligne afin qu'à l'enegistrement et surtout à l'affichage, on n'est pas besoin de se servir de l'ascenseur pour lire tout le contenu.... je fais une :

<td><textarea id="descriptionn" cols="45" rows="10" name="description" style="width: 450px; height: 200px; overflow: hidden;"><?=$item['description'];?></textarea>

(comme ici ou on est bloqué à 93 caractères par ligne et où ça passe à la ligne suivant dès le 94 caractères...)

si je veux bloquer le nombre de caractère par ligne à 110 je fais quoi ??

je pige plus ... help !

20 réponses

Messages postés
39
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008
7
ah ben alors à quoi sert le

cols="45" rows="10"

??
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
915
salut,

je suis tenté de te répondre que ce n'est pas prévu par HTML.
tu peux indiquer la largeur visible mais pas le nombre de caractères.

tu trouveras peut être ton bonheur en Javascript.

Spécification HTML 4.01
Messages postés
39
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008
7
autre chose :

je viens de trouver un autre textarea dans un fichier du script que j'utilise :

<td><textarea name="message_content" cols="40" rows="3" class="contentfont"></textarea></td>

et j'ai un nombre de caractères bloqués à 34... et je ne sais pas ni pourquoi ni comment surtout...

donc, c'est que c'est possible Dalida...
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
915
et quel est le style qui est appliqué à ladite balise ?

je ne te dis pas que ce n'est pas possible tout court, je te dis que cela n'est pas possible en indiquant par le style une information de largeur différente.
Messages postés
39
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008
7
eu... j'en sais rien... je ne trouve pas où les style sont enregistrés... dans quel fichier je veux dire....
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
915
regarde dans le <head> du HTML tu dois avoir une balise <link type="stylesheet" /> ou une balise <style>
Messages postés
39
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008
7
bon j'ai trouvé et j'ai modifié la balise avec un

wrap="physical"

mais ça ne change rien.... suis paumée....
Messages postés
39
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008
7
bon, quand on cherche on trouve lol (bon pas toujours c'est vrai !!)

j'ai trouvé ça : <div style="padding: 12px;">
à mettre sous le textarea

et ça à l'air de me bloquer le nombre de caractères...

faut que je teste jusqu'au bout pour voir ce que cela donne à l'enregistrement...


et puis les style sont pas mal expliqué là :
http://cerig.pagora.grenoble-inp.fr//dossier/feuilles-de-style/page04.htm

si ça peut servir à d'autres...

Merci à Dalida pour son aide en tout cas
Messages postés
39
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008
7
euh ben... ça me bloque bien visuellement mais pas réellement... je continue à chercher... pfffff j'étais contente de ma trouvaille moi... !!
Messages postés
39
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008
7
bon rien à faire... je n'arrive pas à bloquer le nombre maximum de caractères sur une ligne...

Je peux utiliser une autre fonction que le textarea vous pensez ?
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
915
salut,

si tu veux que l'utilisateur puisse saisir du texte tu ne peux utiliser que <input type="text" /> pour une ligne et <textarea> pour plusieurs lignes.

ou alors modifie la largeur de ton <textarea> avec les CSS selon ce que tu souhaites comme affichage.
Messages postés
39
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008
7
ah flute... il faut que l'utilisateur puisse entrer plusieurs lignes... donc pas bon avec <input type="text" />

j'ai fouillé un peu le script et j'ai trouvé ces lignes :

$item_description_editor = "<script> \n" .
" var oEdit1 = new InnovaEditor(\"oEdit1\"); \n" .
" oEdit1.width=\"100%\";//You can also use %, for example: oEdit1.width=\"100%\" \n" .
" oEdit1.height=300; \n" .
" oEdit1.REPLACE(\"description_main\");//Specify the id of the textarea here \n" .
"</script>";

mais je reconnais que j'y comprends rien de rien...

Quelqu'un aurait l'explication de ces lignes magiques qui définissent mon éditeur de textarea ??
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
915
c'est du Javascript mais il faudrait la partie ou est décrit 'InnovaEditor' pour comprendre mieux à quoi ça sert.

tu le sors d'où cet éditeur de texte ?
Messages postés
39
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008
7
ah ben le fichier InnovaEditor.js y'a 13 lignes :

/*** Editor Script Wrapper ***/
var oScripts=document.getElementsByTagName("script");
var sEditorPath;
for(var i=0;i<oScripts.length;i++)
{
var sSrc=oScripts[i].src.toLowerCase();
if(sSrc.indexOf("scripts/innovaeditor.js")!=-1) sEditorPath=oScripts[i].src.replace(/innovaeditor.js/,"");
}

if(navigator.appName.indexOf('Microsoft')!=-1)
document.write("<scr"+"ipt src='"+sEditorPath+"editor.js'></scr"+"ipt>");
else
document.write("<scr"+"ipt src='"+sEditorPath+"moz/editor.js'></scr"+"ipt>");


et c'est pas plus clair pour moi lol
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
915
mais depuis quand as-tu mis cet éditeur en plus du <textarea> ?

si tu veux 110 caractères tu définis la largeur en CSS (en y allant à taton) et puis c'est tout, ajoute pas une machinerie complète en JS juste pour ça, surtout si tu ne comprends pas le code.

cet éditeur permet de remplacer du texte avant l'envoie vers le serveur, le code pour la largeur et la hauteur ne fait que modifier les attributs HTML, autant le faire toi même et directement !

source
Messages postés
39
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008
7
je n'ai pas rien ajouté... pour cet éditeur : le fichier existe comme ça directement dans le script et à chaque textarea ça appelle le InnovaEditor.js je suppose...

tu me dis "si tu veux 110 caractères tu définis la largeur en CSS (en y allant à taton)"

oui, mais où exactement ?

je n'y comprends rien.... :(

du coup je suis comme une idiote là...
Messages postés
39
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008
7
dans un fichier qui s'appelle editor.css j'ai ces quelques lignes :

body{font:8pt tahoma,arial,sans-serif;margin:0;background:#E9E8F2;color:#444444}
.dialogFooter{background-color:#E2E2ED;border-top:#CFCFCF 1px solid;}
td{font-size:8pt}
input {font:8pt tahoma,arial,sans-serif}
select {font:8pt tahoma,arial,sans-serif}
textarea {font:8pt tahoma,arial,sans-serif}
.inpSel {font:8pt tahoma,arial,sans-serif}
.inpTxt {font:8pt tahoma,arial,sans-serif;}
.inpChk {width:13;height:13;margin-right:3;margin-bottom:1}
.inpRdo {width:13;height:13;margin-right:3;margin-bottom:1}
.inpBtn {font:8pt tahoma,arial,sans-serif;}
.inpBtnOver {}
.inpBtnOut {}


mais rien au niveau maximum caractères....
Messages postés
39
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008
7
bon ben résultat des courses, j'ai juste mis un

<td><textarea id="description" name="description" style="width=100%; height: 150px;"></textarea>

en supprimant la ligne que j'avais dessous <?=$item_description_editor;?>

et ça me renvoie bien à la ligne en fin de cadre mais je perds toutes les possibilités de texte en gras, insertion image et tout le reste... ça m'ennuie un peu... pffff
Messages postés
39
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008
7
bon ben personne n'a une petite idée pour m'aider ?
Messages postés
39
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008
7
pour pouvoir avoir quand même les possibilités de texte en couleur, gras , images etc ... ?
Si tu veux changer tes couleurs ou autre, rajoute juste les propriétés appropriés dans ton attribut STYLE! ;)
Messages postés
39
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008
7
ben solution trouvée (mais pas au top...)

j'ai ajouté un message au dessus du cadre pour indiquer aux utilisateurs de faire "entrée" à la fin de leur ligne sans dépasser le cadre... !!!

On verra bien à l'usage si ils respectent l'indication... c'est surtout pour que leur annonce soit "lisible" en fait, c'est eux qui voient... lol

Merci à ceux qui ont essayé de me trouver une solution + "pro" lol
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
915
ça sert à ça mais il ne faut pas que ce soit modifié par le style.

dans le cas de CCM, cols="20" et la largeur à été définie à 656 pixels donc le "20 caractères de large" ne sert pas à grand chose, hormis à avoir un code valide.

dans ton cas c'est pareil, si tu veux 450 pixels de large il n'y a pas moyen en HTML de dire qu'au bout de 110 caractères le texte dois revenir à la ligne. il le fera quand il arrivera à la largeur donnée par le style.