begin process at 2012 05 29 20:20:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

Débutants

 > 

Probème vec getElementsByName


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probème vec getElementsByName

jeudi 27 avril 2006 à 07:30:49 | Probème vec getElementsByName

richton95

Bonjour, je suis débutant, voicis mon PB

j'ai une page html dans laquel j'affiche une liste de logiciels avec pour chaque logiciel une liste déroulante et 3 bouton radio.
Pour chaque logiciel l'utilisateur doit cocher un bouton radio, et si il coche le premier il doit séléctionner un élément dans la liste.
Le problème c'est que le nombre de logiciel est variable. Pour faire ma vérification j'utilise donc GetElementsByName et une boucle.

mes listes déroulantes s'appellent
corres1 corres 2 etc....
et mes boutons radio type1 type2 etcc
exemple:
[code]
<tr>
<td class="maLigne"><input type="hidden" name= "nom0" value="Correctif Windows XP - KB871250">Correctif Windows XP - KB871250</td>
<td class="maLigne"><SELECT name="corres0" size="1">
<option value="0" selected="selected">Faites un choix</option>
</SELECT></td>
<td class="maLigne"><input type="radio" name="type0" value="kea"></td>
<td class="maLigne"><input type="radio" name="type0" value="non_kea"></td>
<td class="maLigne"><input type="radio" name="type0" value="ignored"></td>
</tr>

<tr>
<td class="maLigne"><input type="hidden" name= "nom1" value="Correctif Windows XP - KB873333">Correctif Windows XP - KB873333</td>
<td class="maLigne"><SELECT name="corres1" size="1">
<option value="0" selected="selected">Faites un choix</option>
</SELECT></td>
<td class="maLigne"><input type="radio" name="type1" value="kea"></td>
<td class="maLigne"><input type="radio" name="type1" value="non_kea"></td>
<td class="maLigne"><input type="radio" name="type1" value="ignored"></td>

</tr>
[/code]

Voicis mon code javascript

( vali correspond au nombre maximal de logiciel affiché)

[code]
function checkinven()
{

for(i=0; i<= document.ajout.vali.value; i++)
{


if (document.getElementsByName("type"+i)[0].checked == true )
{
if(document.getElementsByName("corres"+i)[0] == 0)
{

alert("Veuillez choisir une correspondance avec ce logiciel");
return;
}
}
}

alert("envoi");
}
[/code]
mais je me retrouve avec l'erreur suivante:



Erreur : document.getElementsByName("corres"+i)[0] has no properties

si qqn peut m'aider...MERCI


jeudi 27 avril 2006 à 09:52:05 | Re : Probème vec getElementsByName

bultez

Membre Club
bonjour,
si j'ai compris...

<script type="text/javascript">
function test()
{
 var n=0;
 while ( frm["nom"+n] )
 {
 
  for ( var m=0;m<frm["type"+n].length;m++ )
  {
   if ( frm["type"+n][m].checked )
   {
    break;
   }
  }
  if ( m==frm["type"+n].length )
    {
     alert("choisir radio dans "+n);
    }
  else {
     if ( m==0 )
     {
      if ( frm["corres"+n].selectedIndex==0 )
      {
       alert ("choisir select dans "+n );
      }
     }
    }
  n++;
 }
}
</script>
<form name="frm">
<table>
<tr>                                
<td class="maLigne"><input type="hidden" name= "nom0" value="Correctif Windows XP - KB871250">Correctif Windows XP - KB871250</td>
<td class="maLigne">
 <SELECT name="corres0" size="1">
 <option  selected="selected">Faites un choix</option>                                                                             
 <option>aaaa
 <option>bbbb
 </SELECT></td>                                      
 <td class="maLigne"><input type="radio" name="type0" value="kea"></td>                                      
 <td class="maLigne"><input type="radio" name="type0" value="non_kea"></td>                                      
 <td class="maLigne"><input type="radio" name="type0" value="ignored"></td>                                   
 </tr>                                    
<tr>                                        
 <td class="maLigne"><input type="hidden" name= "nom1" value="Correctif Windows XP - KB873333">Correctif Windows XP - KB873333</td>
 <td class="maLigne"><SELECT name="corres1" size="1">
 <option  value="0" selected="selected">Faites un choix</option>
 </SELECT></td>
 <td class="maLigne"><input type="radio" name="type1" value="kea"></td>
 <td class="maLigne"><input type="radio" name="type1" value="non_kea"></td>
 <td class="maLigne"><input type="radio" name="type1" value="ignored"></td>
 </tr>
</table>
<button onclick="test();">Contrôle</button>
</form>

je préfère utiliser formulaire["nom de l'élément"], chacun ses goûts...
mais dans l'exemple aucun select n'a d'option ???


Cordialement.   Bul.gif    Bul. ~
mon site qu'il est à moi
~
jeudi 27 avril 2006 à 11:17:30 | Re : Probème vec getElementsByName

roro06



Bonjour

if(document.getElementsByName("corres"+i)[0].value == 0)


Cordialement
Roro webDev
jeudi 27 avril 2006 à 11:49:01 | Re : Probème vec getElementsByName

roro06



Bonjour

Ceci dit, en regardant mieux ton code, il apparait que tes select corres n'ayant qu'une seule option, ils renverront toujours la même valeur, à savoir 0

Cordialement
Roro webDev
jeudi 27 avril 2006 à 20:32:07 | Re : Probème vec getElementsByName

richton95

Merci beaucoup pour vos réponses

Oui éffectivement j'étais conscient qu'il n'y avait aucune option dans mes listes, je les ai rajoutés après. Mais finalement j'ai fait comme ça et ca marche
[code]
unction checkinven()
 { 
 l=1; // indice de début pour la liste
 c=2; //indice de début pour lA checkbox
 
  for(i=0; i< document.ajout.vali.value; i++)
  {
  
   //si on ne séléctionne rien
   if(document.ajout.elements[c].checked == false && document.ajout.elements[c+1].checked == false && document.ajout.elements[c+2].checked == false)
   {
    document.ajout.elements[c].focus
    alert("Vous n\'avez pas choisis de type pour "+document.ajout.elements[l-1].value+" ligne "+(i+1));
    return;
   }
   
   // Si on séléctionne ogiciel Kéa mais pas d'élément dans al liste
   if (document.ajout.elements[c].checked == true && document.ajout.elements[l].selectedIndex == 0 )
   {
    document.ajout.elements[l].focus
    alert("Veuillez choisir une correspondance pour "+document.ajout.elements[l-1].value+" ligne "+(i+1));
    return;
   }
   l = l+5;
   c = c+5;
  }
  
  document.ajout.submit();
 }
[code]


Cette discussion est classée dans : code, liste, logiciel, radio, getelementsbyname


Répondre à ce message

Sujets en rapport avec ce message

Radio qui se coche si on remplit un textfield... [ par NinouTheOne ] Bonjour à tous et à toutes. Il me manque une petite astuce javascript (je pense). Voilà, j'ai un formulaire : <form action="#" method="post" name="inf Pb : onClick d'un bouton radio pour disparition d'un <DIV> [ par beku ] BonjourJe voudrais faire disparaitre le suivanten cliquant sur le bouton radio<br Script pour deplacer un select d une liste vers une autre [ par supobi ] Bonjour tlm :)Voila j essai d utiliser ce script : http://www.javascriptfr.com/code.aspx?ID=21998Mais je n arrive pas a recuperer la liste 2 sous form Completion de code [ par ennixo ] Bonjour, quelqu'un a-t-il déjà bossé sur de la completion de code en JavaScript ?par exemple si c'était pour du html on taperait "<body " dans la text Choix Radio different Liste deroulante [ par xactise ] Bonjours j'explique ce que je veux faire : J'ai 5 (A, B, C, D, E) bouttons radio et 1 liste deroulantea la base je veux que la liste deroulante soit v Ajout image dans liste de choix [ par tidure ] Bonjour a tousDonc c pour mettre une image de drapeau a cote de chaque pays dans la liste (pour qu en ouvrant la liste on voit ts les pays avec les dr Envoyer du bbcode dans un des deux textarea [ par SSB ] Bonjour tout le monde.Voici mon problème : J'ai 1 bouton pour envoyer du bbcode et 2 textarea ainsi que 2 boutons radio.J'aimerais qu'en cochant le bo Griser des boutons radio [ par Tonyrion ] Bonjour à tous,je débute en java et j'ai tenté de chercher la solution dans les messages de ce forum et sur google, mais en vain.En fait j'ai une list Liste déroulante [ par auremy ] Bonjour,J'aimerais créer une liste déroulante, pour que lorsque l'utilisateur cliques sur un choix de la liste, une nouvelle page se charge. J'ai pour puce dans javascript [ par spacecool ] je cherche un moyen d'écrire dans un editeur de texte fait en javascript, des puces et des numérotations. Je possède un code (que j'ai trouvé ici d'ai


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales