8791 sujets

Développement web côté serveur, CMS

Bonsoir à tous,

Je cherche un moyen pour éviter qu'un utilisateur de mon formulaire puisse taper une chaine de caracteres à l'enfilade.

Je m'explique :
Mon champ textarea accepte 3000 caractères maxi (le test se fait bien) par contre si l'utilisateur tape une suite de caracteres sans espace genre
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

mon champ s'aggrandit et la ma page est completement flinguée!!
Je voudrais pouvoir interdire ou contrer la possibilité de taper une suite de caractères sans espace.

Y'a-t'il une astuce ?

merci d'avance

Apparement ça déconne aussi sur alsacreations...
Modifié par pareto (12 May 2010 - 11:37)
Administrateur
Hello,

Il existe des solutions en CSS3 qui sont plutôt bien compatibles, même sur IE : word-wrap et text-overflow.
Voir cet exemple : http://www.ie7nomore.com/fun/wrapping/

... Mais comme tu le constates, il semble que ça ne fonctionne pas très bien sur des cellules de tableaux Smiley decu
merci je pense que c'est la solution par contre je n'arrive pas à l'utiliser

j'ai fait un style

div#description {
margin-right:2;
word-wrap: break-word;
text-align:justify;
}

et j'appelle ma variable comme cela

<div id="description"><?php echo nl2br(stripslashes($row['description_user']));?> </div>


mais rien ne se passe...

Comment faire ?

Merci


En fait ça marche sur Firefox, safari, opera et chrome mais pas sur IE8...
Comment faire pour qu'ie 8 comprenne ?

merci

Bon J'AI TROUVE !!!

avec ça ie8 et 7 comprennent

p.text-overflow {
overflow:hidden;
text-overflow: ellipsis;
}

ça marche aussi très bien sous firefox, safari, opéra et chrome

Merci et bonne nuit à tous Smiley biggrin
Modifié par pareto (11 May 2010 - 23:56)
Administrateur
pareto a écrit :
merci je pense que c'est la solution par contre je n'arrive pas à l'utiliser

j'ai fait un style

div#description {
margin-right:2;
word-wrap: break-word;
text-align:justify;
}

Tu as oublié l'unité (px ?) dans la première déclaration. C'est peut être à cause de ça.

PS : si le problème est résolu, n'oublie pas de l'indiquer dans le titre, comme convenu dans les règles du forum. Merci d'avance.
Globalement c'est aussi symptomatique d'un approche par le mauvais bout. C'est à toi de t'adapter à l'utilisateur et pas à l'utilisateur de s'adapter à ton programme.
Quand on en vient à vouloir contraindre l'utilisateur pour satisfaire un problème technique (ce qui était ton cas) c'est qu'on fait quelque chose de travers.

Si c'est l'affichage qui pose problème, c'est l'affichage qu'il faut corriger. Ici tu peux aussi passer par la fonction PHP word_wrap() (avec le dernier paramètre à vrai)