Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2954 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  probleme avec controle de formulaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme avec controle de formulaire

n°948953
jj59
Posté le 08-01-2005 à 10:58:38  profilanswer
 

Bonjours
j'aimerais bien savoir comment on fait pour verifier si toutes les zone de text d'un formulaire sont remplis a l'aide d'un javascript
 
et si toute ces zones sont remplis alors un bouton de type submit peut devenir actif
 
voici mon code qui ne marche pas :
// fonction javascript
function tester()  
{  
   var flag = false;  
   if(document.getElementsByName('nomcreateur').length == 0  
   && document.getElementsByName('prenomcreateur').length == 0  
   && document.getElementsByName('mailcreateur').length == 0
   && document.getElementsByName('logincreateur').length == 0
   && document.getElementsByName('pwdcreateur').length == 0
   && document.getElementsByName('cpwdcreateur').length == 0)
   {flag = true;}  
 
   
   if(flag)
   {document.question.valider.disabled = false;}
   else
   {document.question.valider.disabled = true;}  
}
 
 
 
mon code html
 
<form method="post" action="validation.php" name="question">
    <div id="formulaire-haut">
      <table class="bord0">
        <tr>
          <td class="width">Nom :</td>
          <td><input type="text" name="nomcreateur" size="20" onClick="tester();"/></td>
        </tr>
        <tr>
          <td>Prénom :</td>
          <td><input type="text" name="prenomcreateur" size="20" onClick="tester();"/></td>
        </tr>
        <tr>
          <td>Mail :</td>
          <td><input type="text" name="mailcreateur" size="20" onClick="tester();"/></td>
        </tr>
        </table>
      </div>
       
      <div id="formulaire-bas">
        <table border="0">
        <tr>
          <td class="width">Login :</td>
          <td><input type="text" name="logincreateur" size="10" onClick="tester();"/></td>
        </tr>
        <tr>
          <td>Mot de passe :</td>
          <td><input type="password" name="pwdcreateur" size="10" onClick="tester();"/></td>
        </tr>
        <tr>
          <td>Confirmation :</td>
          <td><input type="password" name="cpwdcreateur" size="10" onClick="tester();"/></td>
        </tr>
      </table>
    </div>
     
     
    <div id="placement-bouton-envoyer">
      <input type="submit" value="Envoyer" name="valider" disabled />
      </form>
    </div>  
 
 
 
merci pour l'aide

mood
Publicité
Posté le 08-01-2005 à 10:58:38  profilanswer
 

n°948958
dreameddea​th
Posté le 08-01-2005 à 11:10:46  profilanswer
 

déjà plutot que des && dans la fonction tester, c'est des ||.
Ensuite je ne connaissais pas la méthode getElementByName mais getElementById, mais bon peut-être qu'elle existe.

n°948972
jj59
Posté le 08-01-2005 à 11:21:55  profilanswer
 

sa marche pas
En fait le bouton Envoyer ne s'active jamais : il reste toujours desabled meme si toutes les zones de textes sont remplies

n°948973
dreameddea​th
Posté le 08-01-2005 à 11:24:00  profilanswer
 

c'est pas l'évènement onclick mais l'évènement onchange non?

n°948975
jj59
Posté le 08-01-2005 à 11:26:59  profilanswer
 

non sa marche toujours pas
et je ne sais vraiment pas d'ou vient l'erreur
en tout cas merci beaucoup pour ton aide , elle m'est tres utile

n°948986
FlorentG
Posté le 08-01-2005 à 11:45:01  profilanswer
 

Dangereux tout ça. Déjà le code est pas valide, si t'utilises un tableau pour le formulaire, met au moins des <label> pour associer un champs et son intitulé. Ensuite pour ceux qui ont javascript désactivé, ils auront un beau bouton submit désactivé, et ne pourront jamais envoyer le formulaire :/

n°948987
dreameddea​th
Posté le 08-01-2005 à 11:45:19  profilanswer
 

Utilise FireFox et le javascript console qui permet de débugger.
Avec ça j'ai pu corriger un peu le code, qui fonctionne. en utilisant getElementById à la place de getElementByName ça marche (mais j'ai du rajouter les id="" pour chaque input. De même j'ai remplacé les document.envoyer.valider.disable par document.getElementById("valider" ).disable =...
J'ai du inverser la ligne mettant true avec la ligne mettant false...

n°948990
jj59
Posté le 08-01-2005 à 11:47:58  profilanswer
 

pas bete se que tu dit FlorentG
mais je ne connais pas d'autres solutions
donc si tu en a, n'hesite pas a me les dire
 
merci ppour l'aide

n°948994
FlorentG
Posté le 08-01-2005 à 11:50:22  profilanswer
 

Ben tu met dans ta balise <form> un onsubmit="return tester()". Modifie ta fonction pour qu'elle fasse un 'return true;' quand le formulaire est valide, et un 'return false' quand c'est pas valide. Comme ça, si c'est pas valide, le formulaire ne sera pas envoyé. Et quand c'est pas valide, avant de faire un return, tu peux afficher une boîte de dialogue genre 'Veuillez remplir tous les champs' :)
 
N'oublie pas aussi de faire une validation côté serveur ;)

n°948997
jj59
Posté le 08-01-2005 à 11:52:25  profilanswer
 

j'ai pas compri comment tu fesais avec getElementById()
(tu lui passe quoi comme parametre dans le script ?)
si tu met id="" dans chaque input


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  probleme avec controle de formulaire

 

Sujets relatifs
petit probleme d'insertion dans une bdd MysqlProbleme avec empty
problème redirection site webProblème de menu dynamique
Probleme Windows icone -> URLjavascript et php - formulaire dynamique
[Port Série] Problème de réception à 1200 baudsProbleme sauvegarde avec Oracle 9i
petit probleme de gestion graphiqueProbleme avec session_start()
Plus de sujets relatifs à : probleme avec controle de formulaire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR