Erreur "Objet Attendu"

Résolu
Signaler
Messages postés
4
Date d'inscription
mardi 7 septembre 2004
Statut
Membre
Dernière intervention
9 septembre 2008
-
Messages postés
1044
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
-
Bonjour,

J'ai un souci qui va me rendre dingue... J'ai cherché la solution tout l'aprem en vain... Ma page me renvoi constament une erreur "Objet Attendu" à la ligne 107 qui est la suivante:

   <label>Nom:</label>

Je vous poste le code  de ma page:

<HTML>
 <HEAD>
 <TITLE></TITLE>
 <link rel="stylesheet" type="text/css" href="templates/default/style.css" />
 
 <SCRIPT  type="text/javascript">
 function verifnom() {
 if (document.formulaire.nom.lenght > 0)
  {alert('OK');}
 else
  {alert('Veuillez saisir votre nom ! Merci.');}
 </SCRIPT>
  </HEAD>
 


  ----

  ,
  Outil,
  ,
 
 

 ----

   Ajouter un matériel,
  
  ----

   <FORM name="form" action="index.php?page=adm_materiels.php&action=Ajouter" method="POST">
   <label>Nom:</label>
   
<label>Numéro de série:</label>
   
<label>Type de matériel:</label> <Select name="type">
  <option value="-1">[ Choisissez ]</option><option value="8">AP Sans fil</option><option value="6">Commutateur</option><option value="9">Concentrateur</option><option value="4">Copieur</option><option value="3">Imprimante</option><option value="1">PC Fixe</option><option value="2">PC Portable</option><option value="5">Serveur</option><option value="7">Videoprojecteur</option></select>
<label>Marque du matériel:</label> <Select name="marque">
  <option value="-1">[ Choisissez ]</option></select>
    </form>,
  
  

<hr size="2" width="100%" color="#686995" style="margin:-0.5em 0;">

</HTML>

Merci d'avance, car je bloque vraiment !

6 réponses

Messages postés
1044
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
7
Pour débogguer je te conseilles Firefox avec l'extension Firebug, les erreurs sont plus explicites que dans IE et beaucoup plus facile à débogguer. Pour ton erreur, elle se trouve dans ton script :

Tu appelle ton formulaire via "document.formulaire", alors que ton formulaire à le nom "form". Aussi length s'écrie "length" et non "lenght". Faut toujours faire attention à l'orthographe. Donc, tu aurais du écrire "document.form.nom.length". Tout devrait fonctionner maintenant.
Messages postés
626
Date d'inscription
samedi 28 septembre 2002
Statut
Membre
Dernière intervention
18 mai 2009
4
Ta fonction "verifnom()" n'est pas fermée : il te manque l'accolade de fin.

"J'ai cherché la solution tout l'aprem en vain"
>> Utilises les outils de débug est tu économiseras heu... une après midi ;)

__________________________________________
Projet actuel : Joof (http://code.google.com/p/joof)
Messages postés
4
Date d'inscription
mardi 7 septembre 2004
Statut
Membre
Dernière intervention
9 septembre 2008

Salut,

Merci pour votre aide. J'avais effectivement pas mal d'erreur dans mon code et vais m'empresser d'utiliser Firebug ! J'ai vraiment beaucoup beaucoup de mal avec le Javascript...

Par contre, j'ai une autre question, puisque je n'arrive pas non plus a la solutionner. Je veux pouvoir passer en argument de ma fonction le nom du formulaire ainsi que le nom du champ a controler. J'ai donc ecris ma fonction comme cela:

<SCRIPT  type="text/javascript">
 function verifnom(form-name,champ-name) {
 if (document.form-name.champ-name.lenght > 0)
  {alert('OK');}
 else
  {alert('Veuillez saisir votre nom ! Merci.');}
}
 </SCRIPT>

Quand j'appelle ma fonction, je le fais comme cela:
<FORM name="formulaire">

</FORM>

il me retourne une erreur. Idem si je rajoute des guillemets:
<FORM name="formulaire">

</FORM>

Le javascript me rend fou ! lol
Merci d'avance pour votre aide
Messages postés
4
Date d'inscription
mardi 7 septembre 2004
Statut
Membre
Dernière intervention
9 septembre 2008

Pour info, l'erreur renvoyée par Firebug est la suivante:




missing ) after formal parameters
onblur(blur )
   function verifnom(form-name,champ-name) \n


verifnom is not defined
Messages postés
4
Date d'inscription
mardi 7 septembre 2004
Statut
Membre
Dernière intervention
9 septembre 2008

c'est bon j'ai trouvé, le caractère "-" est interdit dans les nom de variable.
Encore merci !
Messages postés
1044
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
7
Je doute que ton truc fonctionne bien ... formName et champName sont des variables de types String et quand Firefox va les interprété ça va te sortir des erreurs. Tu dois passer via la fonction eval pour que le navigateur l'interprète comme tu le veux.

 function verifnom(formName,champName) {
 if (eval("document." + formName + "." + champName + ".lenght") > 0)
  {alert('OK');}
 else
  {alert('Veuillez saisir votre nom ! Merci.');}
}