[JS]Fonction parfaite mais qui ne fonctionne pas... :(

Eléphant du PHP | 73 Messages

04 juil. 2007, 16:41

Coucou,

Voici la jolie fonction très simple et basique qui est sensée fonctionnée mais ne fonctionnant pas.

Code : Tout sélectionner

<script language="javascript" type="text/javascript"> function valideForm(){ estEnErreur = false; msg = 'Le formulaire n\'est pas correctement rempli : \n\n'; if (document.formAjouttype.f_type.value=='') { estEnErreur = true; mettreInputEnErreur(document.formAjouttype.f_type); msg+=' - vous devez remplir le type de produit avant de l\'ajouter.\n'; } else { if(estEnErreur) { alert(msg); return false; } else { return true; } } } </script>
Fonction mettreInputEnErreur :

[/code]function mettreInputEnErreur(input){
if (input)
input.style.border='1px solid #FF0000';

}

Code : Tout sélectionner

Donc logiquement quand je ne met rien : Mon champs text se colore (en rouge) et j'ai un message mais je n'ai que la coloration et pas le message. Voilà. quel peut être le problème ? pour info c'est la même chose sous ie et FF et je n'ai aucun message d'erreur dans la console d'erreur JS de FF.
Sinon je fait l'appel dans mon formulaire comme ceci :

onsubmit="return valideForm()"

(normallement ça ne devrait pas submitter dans le cas ou le champs text est vide mais là ça le fait)
nouveau dans le monde du php
Maître du phpinfo() ce n'est pas rien tout de même xD

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

04 juil. 2007, 16:48

Suit ton code pas à pas tu verras tout de suite d'où vient le soucis :
if (document.formAjouttype.f_type.value=='') // s'il y a une erreur
            { 
               estEnErreur = true; 
               mettreInputEnErreur(document.formAjouttype.f_type); 
               msg+=' - vous devez remplir le type de produit avant de l\'ajouter.\n';    
            } 
            else // sinon (c'est qu'il n'y a pas d'erreur)
            { 
               if(estEnErreur) 
               { 
                  alert(msg); // tu es sur que l'alert devrait se trouver dans le else ? ;)
                  return false; 
               } 
               else 
               { 
                  return true; 
               } 
            } 
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 73 Messages

04 juil. 2007, 17:07

aie aie aie que c'est moche ce que j'ai fait :(
j'ai honte ! c'est les bases quand même... des fois on ne se rend plus bien compte de ce qu'on fait et on cherche beaucoups trop loin !

en tout cas merci ça faisait déja un moment que j'était dessus xD

bonne soirée ;)
nouveau dans le monde du php
Maître du phpinfo() ce n'est pas rien tout de même xD