IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Restreinde le nombre de lignes dans textarea


Sujet :

JavaScript

  1. #21
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 365
    Par défaut
    je ne trouve pas de solution aux 2 problèmes

  2. #22
    Membre expérimenté Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Par défaut
    Salut,

    bon voila EXCATEMENT ce que tu voulais!
    Dsl pour hier soir!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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>

    J'espère que ca te conviendra !

  3. #23
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 365
    Par défaut
    c'est toi qui a écrit tout cà?

  4. #24
    Membre expérimenté Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Par défaut
    oui, pourquoi?

  5. #25
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 365
    Par défaut
    franchement c'est super bien fait. Un grand merci en tout cas c'est super simpa de m'avoir aidé comme ca

  6. #26
    Membre expérimenté Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Par défaut
    eh bien de rien!
    Bon courage pour la suite de ton code alors

  7. #27
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 365
    Par défaut
    si j'ajoute la balise form cela ne fonctionne plus. ca doit etre dans le chemin d'apelle

  8. #28
    Membre expérimenté Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Par défaut
    ok! bon je vais regarder !

  9. #29
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 365
    Par défaut
    en fait je ferai bien moi même mais j'ai pas envie d'abimer ton code lol

    alors aussi peut etre mettre des parametres à la fonction comme ca on peut varier les nombres max juste en l'apellant.

  10. #30
    Membre expérimenté Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Par défaut
    euh...la gforce j'ai bien peur que me compétence en JS s'arrète là!
    Ou alors il faut vraiment que je me creuse la tête!
    Ben je ne te promet rien mais je vais continuer à chercher parce que ca m'intrigue !
    Je te préviendrai par MP dès que j'ai une solus!
    bonne journée!
    A+ tard

  11. #31
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 365
    Par défaut
    ok thx

Discussions similaires

  1. Nombres de lignes dans un état
    Par jmde dans le forum Access
    Réponses: 5
    Dernier message: 27/09/2005, 01h11
  2. [] Nombre de lignes dans un textbox
    Par juanelcalor dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/07/2005, 12h54
  3. Réponses: 8
    Dernier message: 20/06/2005, 16h10
  4. [Fichier] Nombre de ligne dans un fichier texte
    Par NewSer dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 10/11/2004, 17h58
  5. Réponses: 2
    Dernier message: 02/03/2004, 20h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo