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 :

bloquer saisie d une textarea


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 24
    Par défaut
    ca , ca marche ( hormis le 1er retour chariot qu il faut faire soit meme , mais ca encore c un détail )

    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
     
    <html>
     
    <head>
    <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Nouvelle page 1</title>
     
    <script type='text/javascript'>
    function test(c) 
    {        
     
    var s=''; 
    var maString ='';
    s=c.value; 
     
          s = c.value; 
     
          if(s.lastIndexOf('\n') == '-1' && s.length >= 3 )
          {
          	s=s.substring(0,3)+'\n'+s.substring(3,s.length);
          	c.value = s;
          }
     
          s= s.split('\n'); 
     
          for(j=0;j<s.length;j++) 
          { 
                	//si nb char par ligne > 3 	
    				//max de 3 char par ligne
                   if(s[j].indexOf('\r') > 3 || (s[j].indexOf('\r')=='-1' && s[j].length>3) )
                   {
     
                   		if(s[j+1]==null)
                   		{
                   			s[j+1]=s[j].substring(3,s[j].length);
                   		}
                   		else
                   		{
                   			s[j+1]=s[j].substring(3,4)+s[j+1].substring(0,3);
                   		}
     
                   	 	s[j] = s[j].substring(0,3)+'\n';
     
                    } 
          } 
     
       for(k=0;k<s.length ;k++) 
       { 
          if(s[k] != null) 
             maString += s[k]; 
       } 
     
       c.value=maString ;
     
       return true; 
    } 
    </script>
     
    </head>
     
    <body>
     
    <form name="formulaire" method="POST" action="--WEBBOT-SELF--" onSubmit="location.href='_derived/nortbots.htm';return false;" webbot-onSubmit >
      <!--webbot bot="SaveResults" u-file="_private/form_results.csv" s-format="TEXT/CSV" s-label-fields="TRUE" startspan --><input TYPE="hidden" NAME="VTI-GROUP" VALUE="0"><!--webbot bot="SaveResults" endspan i-checksum="43374" --><p>&nbsp;</p>
      <p>&nbsp;</p>
      <p><textarea name='texta' rows="10" cols="20" onkeyup="return test(this)"></textarea></p>
      <p>&nbsp;</p>
      <p><input type="submit" value="Envoyer" name="B1"><input type="reset" value="Rétablir" name="B2"></p>
    </form>
     
    </body>
     
    </html>
    le GROS pb est que bah le curseur se place a la fin a chaque fois et ca c reloux ....HELP

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 24
    Par défaut
    correction pour la 1er ligne :

    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
     
    <html>
     
    <head>
    <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Nouvelle page 1</title>
     
    <script type='text/javascript'>
    function test(c) 
    {        
     
    var s=''; 
    var maString ='';
    s=c.value; 
    ligne1 = false;
     
          s = c.value; 
     
          if(s.indexOf('\r') == '-1' && s.length > 3 )
          {
          	s=s.substring(0,3)+'\r'+s.substring(3,4);
          	c.value = s;
          	ligne1 = true;
          }
     
          s= s.split('\n'); 
     
          for(j=0;j<s.length;j++) 
          { 
                	//si nb char par ligne > 3 	
    				//max de 3 char par ligne
                   if(s[j].indexOf('\r') > 3 || (s[j].indexOf('\r')=='-1' && s[j].length>3) )
                   {
     
                   		if(s[j+1]==null)
                   		{
                   			s[j+1]=s[j].substring(3,s[j].length);
                   		}
                   		else
                   		{
                   			s[j+1]=s[j].substring(3,4)+s[j+1].substring(0,3);
                   		}
     
                   	 	s[j] = s[j].substring(0,3)+'\n';
     
                    } 
          } 
     
       for(k=0;k<s.length ;k++) 
       { 
          if(s[k] != null) 
             maString += s[k]; 
       } 
     
    	if(!ligne1)  
       		c.value=maString ;
     
       return true; 
    } 
    </script>
     
    </head>
     
    <body>
     
    <form name="formulaire" method="POST" action="--WEBBOT-SELF--" onSubmit="location.href='_derived/nortbots.htm';return false;" webbot-onSubmit >
      <!--webbot bot="SaveResults" u-file="_private/form_results.csv" s-format="TEXT/CSV" s-label-fields="TRUE" startspan --><input TYPE="hidden" NAME="VTI-GROUP" VALUE="0"><!--webbot bot="SaveResults" endspan i-checksum="43374" --><p>&nbsp;</p>
      <p>&nbsp;</p>
      <p><textarea name='texta' rows="10" cols="20" onkeyup="return test(this)"></textarea></p>
      <p>&nbsp;</p>
      <p><input type="submit" value="Envoyer" name="B1"><input type="reset" value="Rétablir" name="B2"></p>
    </form>
     
    </body>
     
    </html>

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 24
    Par défaut
    toujours meme pb : le curseur se place a la fin a chaque fois

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 24
    Par défaut
    Bon ; l idée et de mettre le champs formater dans une variable globale afin d avoir la mise en forme qui nous permet de suivre le nb de ligne ,

    voici le code ( qql peu bugué a mort lol )

    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
    109
    110
    111
    112
    113
    114
     
    <html>
    <head>
     
    <script type='text/javascript'>
     
     
    var t = "";
     
    function trim(val)
    {
        var retour = "" ;
        for(i=0;i < val.length;i++) 
            if(val.charAt(i) != '\n' && val.charAt(i) != '\r')
            { 
                retour += val.charAt(i) ;
            } 
        return retour ;
    }
     
    function test(c) 
    {        
     
    if( trim(t).length > trim(c.value).length )
    	t = c.value;
     
    ligne1 = false;
    var s; 
    maString=''; 
     
          s = t + c.value.charAt(c.value.length-1); 
     
          if(s.lastIndexOf('\n') == '-1' && s.length > 3 )
          {
          	s=s.substring(0,3)+'\n'+s.substring(3,s.length);
          	t = s;
          	ligne1 = true;
          }
     
          s= s.split('\n'); 
     
          for(j=0;j<s.length;j++) 
          { 
    			//si nb char par ligne > 3 	
    			//max de 3 char par ligne
    		   if(s[j].indexOf('\r') > 3 || (s[j].indexOf('\r')=='-1' && s[j].length>3) )
    		   {
     
    				if(s[j+1]==null)
    				{
    					//s[j+1]=s[j].substring(3,s[j].length);
    					s[j+1]=s[j].substring(3,4);
    				}
    				else
    				{
    					s[j+1]=s[j].substring(3,4)+s[j+1].substring(0,3);
    				}
     
    				s[j] = s[j].substring(0,3)+'\n';
     
    			} 
          } 
     
       for(k=0;k<s.length;k++) 
       { 
          if(s[k] != null) 
             maString += s[k].substring(0,3); 
     
          if(s[k].length >= 3)
          	maString += '\n';
       } 
     
    	//if(!ligne1) 
    	//{
    		t=maString;
    	//}
     
    } 
     
    function test2(c)
    {
     
    if( trim(t).length > trim(c.value).length)
    	t = test(c.value);
     
    	//touche supr et del autorisé dans tout les cas
    	if(event.keyCode == '8' || event.keyCode == '34')
    		return true;
     
    	var y ='';
    	y = t.split('\n');
     
    	if(y.length > 5 || ( y[4] != null && y[4].length >= 3 ) )
    		return false
    	else if(y.length <= 5 )
    		return true;
    }
    </script>
     
    </head>
     
    <body>
     
    <form name="formulaire" method="POST" action="--WEBBOT-SELF--" onSubmit="location.href='_derived/nortbots.htm';return false;" webbot-onSubmit >
      <!--webbot bot="SaveResults" u-file="M:\_private\form_results.csv" s-format="TEXT/CSV" s-label-fields="TRUE" startspan --><input TYPE="hidden" NAME="VTI-GROUP" VALUE="0"><!--webbot bot="SaveResults" endspan i-checksum="43374" --><p>&nbsp;</p>
      <p>&nbsp;</p>
      <p><textarea name='texta' rows="10" cols="20" onkeydown="return test2(this)"  onkeyup="return test(this)"></textarea></p>
      <p>&nbsp;</p>
      <p><input type="submit" value="Envoyer" name="B1"><input type="reset" value="Rétablir" name="B2"></p>
    </form>
     
    </body>
     
    </html>
    la je perd ma var a un moment donnée que je n ai pas cerné et du tout je remet po tout en forme et du coup ca passe a plus de N lignes autorisées ...mais je pense que l idée est là , si qql peut m aider ?

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    jsue au passage ... évitez les noms reservés du langage javascript pour des noms de fonctions ou de variables !

    test est un mot reservé de javascript !
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 24
    Par défaut
    Citation Envoyé par SpaceFrog
    jsue au passage ... évitez les noms reservés du langage javascript pour des noms de fonctions ou de variables !

    test est un mot reservé de javascript !
    tu es sure ?? ca sert a quoi et ca s utilise comment ???

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 24
    Par défaut
    personne ??

  8. #8
    m@t
    m@t est déconnecté
    Membre confirmé
    Inscrit en
    Octobre 2004
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 172
    Par défaut
    Sauf erreur de ma part, je ne pense pas que test soit un mot réservé par le langage Javascript.

    Voici plusieurs liens listant ces mots proscrits :

    http://www.carto.net/help/selfhtml_8...ge/reserve.htm

    http://fr.wikibooks.org/wiki/Program...%A9serv%C3%A9s

    Il est possible que ces listes ne soient pas exhaustives, pourtant, il ne me semble jamais avoir lu ou entendu que test était un mot réservé ...

  9. #9
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Nous t'avons déjà répondu ici : http://www.developpez.net/forums/viewtopic.php?t=452432
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    m@t pour ta culture personnelle ..
    ce n'est pas parceque d'autre font l'erreur d'utiliser des mots réservés qu'il faut les suivre ...



    http://www.devguru.com/Technologies/ecmascript/quickref/regexp_test.html
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 24
    Par défaut
    Citation Envoyé par SpaceFrog
    m@t pour ta culture personnelle ..
    ce n'est pas parceque d'autre font l'erreur d'utiliser des mots réservés qu'il faut les suivre ...



    http://www.devguru.com/Technologies/ecmascript/quickref/regexp_test.html
    c est une methode de "classe" ( facon de parler n est ce pas , on sait que javascript n est pas OO )

    mais RegExp.test c est pas pareil que test !!! ( MaClasse.MaMethode ) ...

    pour la solution fourni en algo , elle n'est pas utilisable totalement en l etat ...

Discussions similaires

  1. Bloquer saisie dans une PropertyGrid de type ListBox
    Par melsanka dans le forum Windows Forms
    Réponses: 5
    Dernier message: 28/09/2009, 10h57
  2. bloquer la saisie d'une liste
    Par matdrap dans le forum IHM
    Réponses: 4
    Dernier message: 11/07/2008, 15h21
  3. Réponses: 1
    Dernier message: 06/12/2007, 19h42
  4. Comment bloquer la saisie d'une touche dans un TEdit ?
    Par bahamut100 dans le forum Débuter
    Réponses: 6
    Dernier message: 01/11/2007, 11h35
  5. [tkinter] Bloquer la saisi d'une Entry
    Par airod dans le forum Tkinter
    Réponses: 1
    Dernier message: 23/07/2007, 14h57

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