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 :

Problème avec une boucle for


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 44
    Points
    44
    Par défaut Problème avec une boucle for
    Bonjour,
    j'ai cette erreur irritante et je ne vois pas où se situe mon erreur:
    Un nom contenait un caractère non valide. Erreur de traitement de la ressource file:///D:/Documents/....

    for(i;i<j;i++)
    ------------^
    Voilà ma fonction:
    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
     
    function validee(i,j,k)
    {
           for(i;i<j;i++)
    	{
    	if(eval("document.Step"+k+".Radio"+i+".checked==true"))
    	{
    	i=i+1;
    	}
                    else
    	{
    	i=j;
    	alert("Step à compléter");
    	}
    	i--;
    	}
    }
    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    i n'est pas initialisée :

  3. #3
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 44
    Points
    44
    Par défaut
    Ben en fait, lorsque je fait appel à ma fonction, je défini une valeur pour i, pour j, pour k.
    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="button" name="nom" value="Etape validée" onClick="validee(1,3,1)"/>
    C'est pas bon??

  4. #4
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 139
    Points
    139
    Par défaut
    essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function validee(i,j,k)
    {
           for(var l=i;l<j;l++)
       {
       if(eval("document.Step"+k+".Radio"+l+".checked==true"))
       {
       l=l+1;
       } 
    ....

  5. #5
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 44
    Points
    44
    Par défaut
    Aie, ça ne marche pas, j'ai toujours la même erreur.
    Il me semble pourtant que j'ai respecté la la structure d'une boucle for.

  6. #6
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 139
    Points
    139
    Par défaut
    il sert à quoi le i-- et le i++ dans la boucle?

  7. #7
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 44
    Points
    44
    Par défaut
    ben en fait, dans les conditions de la boucle for, il faut définir la progression. Alors je mets l'incrémentation de mon i mais en fait j'en veux pas d'où le i--.
    Je sais pas , c'est peut etre pas le plus intelligent mais sur le coup j'ai trouvé que ça.

  8. #8
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 139
    Points
    139
    Par défaut
    Il me semble (en tout cas c'est le cas en c et java) que tu ne peux pas intervenir sur la variable d'une boucle for, dans ton cas tu dois passer par un while

  9. #9
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    je crois qu'il faut que tu nous donnes un peu de html, du moins la structure du formulaire ou ce que tu veux en faire;

  10. #10
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 44
    Points
    44
    Par défaut
    Voila mon html, du moins un bout:
    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
     
    ...
    <ul type="disc">
    <form method="post" name="Step1" action="URL d'expedition" enctype="text/plain">
    	<li>
    	<span style="font-family:Arial; font-size:9pt">
    	Les boutons radio1
    	</span>
    	<br>
    	<input
    		type="radio"
    		name="Radio1"
    		value="OK"/><b> OK </b>
    	<input
    		type="radio"
    		name="Radio1"
    		value="NOK"/><b> NOK </b>
    	</br>
    	</li>
    	<br/>
    	<br/>
    	<li>
    	<span style="font-family:Arial; font-size:9pt">
    	Les boutons radio2
    	</span>
    	<br>
    	<input
    		type="radio"
    		name="Radio2"
    		value="OK"/><b> OK </b>
    	<input
    		type="radio"
    		name="Radio2"
    		value="NOK"/><b> NOK </b>
    	</br>
                    </li>
    	<br/>
    	<input type="button" name="nom" value="Etape validée" onClick="validee(1,3,1)"/>
    	</form>
    	</ul>
    ...
    je n'ai rien modifié de plus pour les besoins de ma fonction.
    En espèrant que ça vous éclaire sur mon erreur.

  11. #11
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    quel est le but du script!??

  12. #12
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 44
    Points
    44
    Par défaut
    Pfou, c'est galère à expliquer. Surtout parce que j'ai une autre question derriere.
    En gros,je souhaite contrôler que chaque paire de boutons ont bien été cochés.
    Mon autre question(à titre d'informations.je la posterai dans un nouveau sujet):

    J'ai créé une serie de paires de boutons radio (cad que j'ai une série de bouton allant 2 par 2: OUI ou NON.Lorsque je clique sur OUI, NON se décoche, par exemple.Pour cela je dois donc donner au 2 boutons radio le même nom pour pouvoir avoir cette alternance).Jusque là tout va bien.
    Maintenant, j'ai créé une fonction pour valider un étape lorsque mes boutons sont cochés(j'avais dans l'espoir que si l'un des 2 boutons, OUI ou NON, a été coché la condition "bouton coché" serai "vrai".
    Ben non.
    Donc ma question:
    Y aurait il un moyen de donner aux 2 boutons radio(de n'importe quelle de mes paires) un nom différent mais en ayant toujours cette alternance entre les 2?


    Alors pour en revenir à cette boucle for, vous auriez peut etre un indice que je pourrai creuser :

  13. #13
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function validee(debut,fin,k) 
    { 
    resultat=false;
    formulaire=document.forms["Step"+k];
     
    for(i=debut;i<fin;i++) 
    {
    boutonRadio=formulaire.elements["Radio"+i];
    	for(j=0;j<boutonRadio.length;j++){
    		if(boutonRadio[j].checked && boutonRadio[j].value=="OK"){resultat=true;} 
    	}
    } 
    if(!resultat){alert("Step à compléter"); }
    }

  14. #14
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 44
    Points
    44
    Par défaut
    Je comprends pas l'erreur est toujours la même:
    Un nom contenait un caractère non valide. Erreur de traitement de la ressource file:///D:/Documents/...

    for(i=debut;i<fin;i++)
    -----------------^

  15. #15
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    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
    <HTML>
    <SCRIPT language=JavaScript1.2>
    function validee(debut,fin,k) 
    { 
    resultat=false; 
    formulaire=document.forms["Step"+k]; 
     
    for(i=debut;i<fin;i++) 
    { 
    boutonRadio=formulaire.elements["Radio"+i]; 
       for(j=0;j<boutonRadio.length;j++){ 
          if(boutonRadio[j].checked && boutonRadio[j].value=="OK"){resultat=true;} 
       } 
    } 
    if(!resultat){alert("Step à compléter"); } 
    } 
     
     
    </SCRIPT>
     
    <BODY> 
    <form method="post" name="Step1" action="URL d'expedition" enctype="text/plain"> 
       <li> 
       <span style="font-family:Arial; font-size:9pt"> 
       Les boutons radio1 
       </span> 
       <br> 
       <input 
          type="radio" 
          name="Radio1" 
          value="OK"/><b> OK </b> 
       <input 
          type="radio" 
          name="Radio1" 
          value="NOK"/><b> NOK </b> 
       </br> 
       </li> 
       <br/> 
       <br/> 
       <li> 
       <span style="font-family:Arial; font-size:9pt"> 
       Les boutons radio2 
       </span> 
       <br> 
       <input 
          type="radio" 
          name="Radio2" 
          value="OK"/><b> OK </b> 
       <input 
          type="radio" 
          name="Radio2" 
          value="NOK"/><b> NOK </b> 
       </br> 
                    </li> 
       <br/> 
       <input type="button" name="nom" value="Etape validée" onClick="validee(1,3,1)"/> 
       </form>  
    </BODY></HTML>
    aucune erreur...

  16. #16
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 44
    Points
    44
    Par défaut
    En effet, il n'y a plus d'erreur merci beaucoup.
    En plus tu réponds à mon autre question, c'est sympa.
    Juste un truc, les boutons s'affichent bien mais si je n'en sélectionne qu'un (que le premier OK par exemple) et que je clique sur Etape validée le message d'erreur "step pas compléter" n'apparait pas.Mais il apparait quand les deux NOK sont selectionnés or justement il ne devrait pas apparaitre.Enfin bon, je peux me débrouiller.
    Le truc que j'ai omis de préciser
    c'est que j'ai bricolé ma page web avec du XML et une feuille de style XSL
    .Je pense que je vais la faire en html parce que je crois que je m'emmele un peu les pinceaux.
    Bref en attendant, je voudrais savoir pourquoi ça bug.
    Si vous savez pourquoi?
    Voilà comment débute mon code:
    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
     
    <?xml version="1.0" encoding="iso-8859-1"?>
     
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="procedure">
     
    <html>
    <head>
    <title>
    Procédure de préparation d'une Momentum Wheel (MW)
    </title>
     
    <script type="text/javascript"> 
     
     
    function validee(debut,fin,k) 
    { 
    resultat=false; 
    formulaire=document.forms["Step"+k]; 
     
    for(i=debut;i<fin;i++) 
    { 
    boutonRadio=formulaire.elements["Radio"+i]; 
       for(j=0;j<boutonRadio.length;j++){ 
          if(boutonRadio[j].checked && boutonRadio[j].value=="OK"){resultat=true;} 
       } 
    } 
    if(!resultat){alert("Step à compléter"); } 
    }
     
     
    </script>
    En tout cas merci.
    Sincérement.

  17. #17
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    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
    function validee(debut,fin,k) 
    { 
    resultat=false; 
    nbReponse=0;
    formulaire=document.forms["Step"+k]; 
     
    for(i=debut;i<fin;i++) 
    { 
    boutonRadio=formulaire.elements["Radio"+i]; 
       for(j=0;j<boutonRadio.length;j++){ 
          if(boutonRadio[j].checked && boutonRadio[j].value=="OK"){resultat=true;} 
    if(boutonRadio[j].checked ){nbReponse++;} 
       } 
    } 
    if(!resultat || nbReponse<1 ){alert("Step à compléter"); } 
    }
    avec au moins deux réponses!

  18. #18
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 44
    Points
    44
    Par défaut
    C'est pareil que tout à l'heure même souci.

  19. #19
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    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
     
    function validee(debut,fin,k) 
    { 
    resultat=false; 
    nbReponse=0; 
    formulaire=document.forms["Step"+k]; 
     
    for(i=debut;i<fin;i++) 
    { 
    boutonRadio=formulaire.elements["Radio"+i]; 
       for(j=0;j<boutonRadio.length;j++){ 
          if(boutonRadio[j].checked && boutonRadio[j].value=="OK"){resultat=true;} 
    if(boutonRadio[j].checked ){nbReponse++;} 
       } 
    } 
    if(!resultat || nbReponse<=1 ){alert("Step à compléter"); } 
    }
    oups j'oublie le "égale"

    if(!resultat || nbReponse<=1 ){alert("Step à compléter"); }

  20. #20
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 44
    Points
    44
    Par défaut
    Je ne vois quel "=" tu as oublié?
    Il fonctionne?Parce que pour moi c'est comme précédemment.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [PHP 5.1] Problème avec une boucle FOR ( Undefined )
    Par Dearth dans le forum Langage
    Réponses: 27
    Dernier message: 26/09/2010, 18h30
  2. Problème avec une boucle for
    Par Zaza91280 dans le forum MATLAB
    Réponses: 12
    Dernier message: 13/05/2010, 17h56
  3. Problème avec une boucle for
    Par nostalamigo dans le forum Windows Forms
    Réponses: 3
    Dernier message: 10/03/2009, 23h26
  4. Réponses: 6
    Dernier message: 26/11/2007, 15h25
  5. problème avec une boucle For
    Par mademoizel dans le forum ASP
    Réponses: 3
    Dernier message: 24/03/2007, 13h20

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