validation de formulaire... --> il ne me trouve pas mes objets

validation de formulaire... --> il ne me trouve pas mes objets - HTML/CSS - Programmation

Marsh Posté le 18-09-2002 à 14:37:06    

sur un champ select :  
 
dans mon head :  

Code :
  1. var objselect = document.addann.Cat.selectedIndex;       <--- ligne 8
  2. function check(addann){
  3. // vérif du select
  4. If((objselect) == 0)       <--- ligne 12
  5. {
  6. alert("youpi !!" );
  7. }
  8. }


 
dans mon body :  

Code :
  1. <form name="addann" method="post" action="addann.php">
  2.     <select name="Cat">
  3.       <option selected>Catégorie...</option>
  4.     </select>
  5. <input type="submit" name="Submit" value="Envoyer" onClick="check(this.form);">
  6. </form>


 
a l'affichage :  

erreur ligne 8 car. 1 : 'document.addann.Cat' a la valeur Null ou n'est pas un objet


 
au 'clickage' :  

erreur ligne 12 car. 1 : Objet attendu


 
j'ai essayé plein de choses, style :  

var objselect = document.addann.Cat.selectedIndex;
var objselect = "document.addann.Cat.selectedIndex";
var objselect = 'document.addann.Cat.selectedIndex';
var objselect = (document.addann.Cat.selectedIndex);
var objselect = ('document.addann.Cat.selectedIndex');


mais rien n'y fait... pourriez pas m'aider ??!!!


Message édité par xkamui le 18-09-2002 à 14:38:02
Reply

Marsh Posté le 18-09-2002 à 14:37:06   

Reply

Marsh Posté le 18-09-2002 à 15:11:01    

C'est normal : au moment de l'affichage de la page, tu lui demandes de calculer objselect alors que le formulaire addann n'est pas encore affiché et n'existe pas encore dans le contexte JavaScript.
 
Passe ta définition de objselect dans la fonction check.
 
Conseil : ne mets pas de <input type="submit">, car le formulaire sera validé, même si la fonction check dit que non. Mets plutôt un type="button" classique, et en fin de fonction check, mets un "document.addann.submit();", comme ça, le formulaire ne sera envoyé au serveur Web que si le check est validé.

Reply

Marsh Posté le 18-09-2002 à 15:38:42    

alors :  

  • merci pour le type="button" au lieu de "subit"...
  • j'ai aussi ajouté une clause Else{document.addann.submit();}, c'est bon ??
  • par contre pour le code, ça marche pas trop encore... j'ai bien compris le fait que ma variable était déclarée trop tôt... ou bien :??:


voici ce que j'ai maintenant :  

Code :
  1. function check(objselect){
  2. // vérif du select
  3. var objselect = document.addann.Cat.selectedIndex;
  4. If((objselect) == 0)
  5. {alert("youpi !!" );}
  6. Else
  7. {document.addann.submit();}
  8. }
  9. <input type="button" name="Submit" value="Envoyer" onClick="check(this.form);">


 
là j'ai :  

erreur ligne 11 car. 1 : Objet attendu

 
 
alors pkoi, car là, mon objet est bien définit...  :cry:


Message édité par xkamui le 18-09-2002 à 15:39:25
Reply

Marsh Posté le 18-09-2002 à 15:43:09    

Pourquoi ta fonction check utilise un argument ?? Le pb, c'est que justement cet argument porte le même nom que la variable qui contient le document.addann.Cat.selectedIndex.
 
Vire tout simplement le paramètre dans ta fonction check :
 

Code :
  1. function check() {
  2. // vérif du select
  3. var objselect = document.addann.Cat.selectedIndex;
  4. If(objselect == 0)
  5. {alert("youpi !!" );}
  6. Else
  7. {document.addann.submit();}
  8. }

Reply

Marsh Posté le 18-09-2002 à 15:52:40    

_Mac_ a écrit a écrit :

Pourquoi ta fonction check utilise un argument ?? Le pb, c'est que justement cet argument porte le même nom que la variable qui contient le document.addann.Cat.selectedIndex.
 
Vire tout simplement le paramètre dans ta fonction check :
 

Code :
  1. function check() {
  2. // vérif du select
  3. var objselect = document.addann.Cat.selectedIndex;
  4. If(objselect == 0)
  5. {alert("youpi !!" );}
  6. Else
  7. {document.addann.submit();}
  8. }






 
ça fait pareil...

Reply

Marsh Posté le 18-09-2002 à 15:57:21    

C'est laquelle, la ligne 11 ?

Reply

Marsh Posté le 18-09-2002 à 15:58:40    

c'est celle de mon If

Reply

Marsh Posté le 18-09-2002 à 16:13:00    

Truc con : en mettant "if" au lieu de "If" et "else" au lieu de "Else"...

Reply

Marsh Posté le 18-09-2002 à 16:14:32    

oui, je viens juste de m'en rendre compte........ PUT1 !!!!!!!!!!!!!!!!!!!
désolé, je débute le javascript alors que je connais déjà bien le php, alors....

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed