erreur sur array

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : erreur sur array

par Cyrano » 25 mars 2008, 15:32

Non non les copains, c'est plus subtil que ça et notre ami n'avait au départ posté qu'une partie de son code.
var f = document.adminForm;
nm_chps = new Array(f.cb_secteuracti, f.cb_employ, f.cb_poste, f.cb_adremployeur);
ça, je suppose que ce sont non des chaines mais des objets dans un formulaire, je me trompe ??

Si c'est bien ça, il faudrait commencer par vérifier que ta balise form a bien un attribut id avec le nom utilisé et même chose pour les champs traités, puis l'écrire de façon un poil plus stricte et ça marchera à tous les coups :
var f = document.forms.adminForm;
var nm_chps = [f.elements.cb_secteuracti, f.elements.cb_employ, f.elements.cb_poste, f.elements.cb_adremployeur];
Note au passage l'utilisation de [] au lieu de new Array().

Et là, l'appel de nm_chps.value a des chances de fonctionner :-k

par h0_noMan » 25 mars 2008, 15:23

for (i in nm_chps)
{
   nm_chps[i] = "non applicable";
} 
nm_chps est une chaine de caractères donc elle n'a pas de propriété de type value.
Tu y accèdes directement.

par jojolapine » 25 mars 2008, 11:24

Il faut essayer de debugger en affichant les variables intermédiaires.
Que donnent
alert(f);
alert(nm_chps);
et
alert(nm_chps[i]); //dans la boucle

par Invité » 25 mars 2008, 11:04

un oubli dans le post au début du code:
var f = document.adminForm;
où "adminForm" est l'id et le nom de mon formulaire.
J'ai bien ça dans mon code mais ça ne change pas l'erreur.

erreur sur array

par Invité » 25 mars 2008, 10:57

Bonjour à tous,

j'ai le tableau js suivant contenant les noms de champs texte d'un formulaire:
nm_chps = new Array(f.cb_secteuracti, f.cb_employ, f.cb_poste, f.cb_adremployeur);
J'essaye de boucler sur ce tableau pour attribuer une valeur par défaut aux champs texte
for (i in nm_chps)
{
   nm_chps[i].value = "non applicable";
}
Je reçois l'erreur
nm_chps has no properties


Voyez vous ce que j'ai oublié?
Merci pour vos réponses.