par
Pierre_99 » 15 avr. 2009, 22:38
Bonjour,
J'ai besoin que les visiteurs de mon futur site puissent, en tapant un texte (de longueur quelconque) ou en faisant un copié/collé, connaître en temps réel le nombre de caractères.
Il y a sur le net le script countcar développé par Olivier Hondermarck, mais il ne fonctionne pas très bien à mon goût, car il compte les fins de ligne et retours chariot.
Par exemple pour :
123
456
Il va compter 10 caractères au lieu de 6.
Le script compte également les espaces, j'avoue que j'aimerai bien aussi qu'il ne les compte pas mais là je demande peut-être beaucoup...
Merci d'avance pour votre aide.
Pierre
Script countcar :
<HTML>
<HEAD>
<TITLE>Tout JavaScript.com - Compteur de caractères</TITLE>
<SCRIPT LANGUAGE="JavaScript">
//D'autres scripts sur http://www.toutjavascript.com
//Si vous utilisez ce script, merci de m'avertir !
var max=50; // 50 caractères maximum
function compter(f) {
var txt=f.zone.value;
var nb=txt.length;
if (nb>max) {
alert("Pas plus de "+max+" caractères dans ce champ");
f.zone.value=txt.substring(0,max);
nb=max;
}
f.nbcar.value=nb;
}
function timer() {
compter(document.forms["form1"]);
setTimeout("timer()",100);
}
</SCRIPT>
</HEAD>
<BODY bgcolor="white" text="#FAFAFF" alink="#000066" link="#000066" vlink="#000066" onload="setTimeout('timer()',100)">
<FONT FACE="Arial" SIZE='-1' COLOR="navy">
<CENTER><B><BIG>Compte le nombre de caractères dans une zone de texte</B></BIG></CENTER>
Compatible IE4+ et NS4+<BR>
<FORM name="form1">
Votre texte :<TEXTAREA name="zone" rows=4 cols="40" onkeypress="compter(this.form)"></TEXTAREA><BR>
Nombre de caractères : <INPUT type="text" name="nbcar" size=3>
</FORM>
<BR><BR>
Le calcul se fait à chaque frappe d'un caractère. Les touches SUPPR et BACKSPACE ne sont pas reconnues, un timer effectue le calcul régulièrement.
<BR><BR><BR><BR><BR><BR><BR>
<BR>
<CENTER><A href="http://www.toutjavascript.com"><FONT size="1" face="arial" color="#CCCCFF">Tout JavaScript.com</FONT></A></CENTER>
</BODY></HTML>
<!-- Script développé par Olivier Hondermarck -->
Bonjour,
J'ai besoin que les visiteurs de mon futur site puissent, en tapant un texte (de longueur quelconque) ou en faisant un copié/collé, connaître en temps réel le nombre de caractères.
Il y a sur le net le script countcar développé par Olivier Hondermarck, mais il ne fonctionne pas très bien à mon goût, car il compte les fins de ligne et retours chariot.
Par exemple pour :
123
456
Il va compter 10 caractères au lieu de 6.
Le script compte également les espaces, j'avoue que j'aimerai bien aussi qu'il ne les compte pas mais là je demande peut-être beaucoup... :roll:
Merci d'avance pour votre aide.
Pierre
Script countcar :
[php]<HTML>
<HEAD>
<TITLE>Tout JavaScript.com - Compteur de caractères</TITLE>
<SCRIPT LANGUAGE="JavaScript">
//D'autres scripts sur http://www.toutjavascript.com
//Si vous utilisez ce script, merci de m'avertir !
var max=50; // 50 caractères maximum
function compter(f) {
var txt=f.zone.value;
var nb=txt.length;
if (nb>max) {
alert("Pas plus de "+max+" caractères dans ce champ");
f.zone.value=txt.substring(0,max);
nb=max;
}
f.nbcar.value=nb;
}
function timer() {
compter(document.forms["form1"]);
setTimeout("timer()",100);
}
</SCRIPT>
</HEAD>
<BODY bgcolor="white" text="#FAFAFF" alink="#000066" link="#000066" vlink="#000066" onload="setTimeout('timer()',100)">
<FONT FACE="Arial" SIZE='-1' COLOR="navy">
<CENTER><B><BIG>Compte le nombre de caractères dans une zone de texte</B></BIG></CENTER>
Compatible IE4+ et NS4+<BR>
<FORM name="form1">
Votre texte :<TEXTAREA name="zone" rows=4 cols="40" onkeypress="compter(this.form)"></TEXTAREA><BR>
Nombre de caractères : <INPUT type="text" name="nbcar" size=3>
</FORM>
<BR><BR>
Le calcul se fait à chaque frappe d'un caractère. Les touches SUPPR et BACKSPACE ne sont pas reconnues, un timer effectue le calcul régulièrement.
<BR><BR><BR><BR><BR><BR><BR>
<BR>
<CENTER><A href="http://www.toutjavascript.com"><FONT size="1" face="arial" color="#CCCCFF">Tout JavaScript.com</FONT></A></CENTER>
</BODY></HTML>
<!-- Script développé par Olivier Hondermarck --> [/php]