1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
<html>
<head>
<title>Textarea</title>
<script language="JavaScript" type="text/javascript">
/** Fonction qui va mettre à jour les champs en fonction du nombre de caractères entré ainsi que
* du nombre de lignes.
*/
function countRow() {
textarea = document.getElementById("pagetext");
b = document.getElementById("modif");
d1 = document.getElementById("nb_carac");
d2 = document.getElementById("nb_carac_restant");
d3 = document.getElementById("nb_lignes_restantes");
text = textarea.value;
tab = text.split("\n");
d1.innerHTML = "Nb caractères : "+text.length;
d2.innerHTML = "Caractères restant : "+(360 - text.length);
d3.innerHTML = "Lignes restantes : "+(10 - tab.length);
if(tab.length >= 10 || text.length >= 360) {
textarea.disabled = true;
b.disabled = false;
}
}
/** Fonction permet le comptage des caractères ainsi que des lignes, grâce à l'appel de la fonction countRow()
* On appel la fonction action() tous les 100e de seconde pour simuler le compage en temps réel.
*/
function action() {
countRow();
t = setTimeout("action()",100);
}
/** Cette fonction permet tout simplement de rendre la main, lorsque l'on click sur le bouton : Modifier Text.
* Lorsqu'il y a 360 caractères, la fonction va supprimé le dernier caractère puis rendre la main au textarea.
* Lorsqu'il y a 10 lignes, la dernière sera supprimée, puis la main sera rendu au textarea.
*/
function main() {
window.clearTimeout(t);
var temp="";
textarea = document.getElementById("pagetext");
b = document.getElementById("modif");
carac_restant = 360-textarea.value.length;
ligne_restante = 10-(textarea.value.split("\n")).length;
tab = (textarea.value).split("\n");
if(ligne_restante == 0) {
for(i=0;i<8;i++) {
temp += tab[i]+"\n";
}
textarea.value = temp;
alert(tab[0]);
} else {
if(carac_restant == 0) {
textarea.value = (textarea.value).substring(0,(textarea.value).length-1);
}
}
textarea.disabled = false;
b.disabled = true;
}
/** Fonction qui réinitialise tous les champs.*/
function raz() {
if(confirm("Souhaitez vous tout effacer ?")) {
textarea = document.getElementById("pagetext");
b = document.getElementById("modif");
d1 = document.getElementById("nb_carac");
d2 = document.getElementById("nb_carac_restant");
d3 = document.getElementById("nb_lignes_restantes");
/** On réinitialise tous les champs
* - le textarea
* - les champs comptant les caractères ainsi que les lignes
* - pour le cas où le textarea est inutilisable, on lui rend la main
*/
textarea.value = "";
d1.innerHTML = "Nb caractères : "+text.length;
d2.innerHTML = "Caractères restant : "+(360 - text.length);
d3.innerHTML = "Lignes restantes : "+(10 - tab.length);
if((textarea.disabled)) {
textarea.disabled = false;
}
b.disabled = true;
}
}
</script>
</head>
<body>
<textarea name="pagetexte" id="pagetext" onFocus="action()" rows="10" cols="50"></textarea><br>
<div id="nb_carac">Nb caractères :</div><br>
<div id="nb_carac_restant">Caractères restant :</div><br>
<div id="nb_lignes_restantes">Lignes restantes :</div> <br>
<input type="button" value="Modifier le texte" onClick="main()" disabled id="modif">
<input type="button" value="Tout effacer" onClick="raz()">
</body>
</html> |
Partager