Un petit probleme de javascript ajax

Résolu/Fermé
Profil bloqué - 21 sept. 2010 à 15:00
 Profil bloqué - 21 sept. 2010 à 19:30
Bonjour a tous,

je cherche a rendre le formulaire d'inscription un peu plus facile d'utilisation pour ceux qui ont javascript d'active,

Pour tous mes champs, j'ai de l'ajax qui vérifie si le pseudo est libre, si le mail n'est pas utiliser, si les mot de passe sont les même et ainsi de suite, et ca donne en direct l'info a l'utilisateur (plus simple que de devoir chercher un autre nom après un refus du serveur. A chaque vérification qui renvoie un retour correct, j'ai une variable de session qui s'incrémente.

Je cherche a cacher via javascript le bouton submit au départ, et qu'il ne s'affiche que lorsque tous est remplis et bon (donc avec de l'ajax quelque part).

Avez vous une idée pour cela? Et sinon, savez vous comment cacher un bouton submit au chargement via javascript?

Merci de vos réponses.

2 réponses

tompsy Messages postés 251 Date d'inscription mercredi 5 décembre 2007 Statut Membre Dernière intervention 19 décembre 2011 50
21 sept. 2010 à 16:12
Salut,

mon premier coneil (à toutes les question javascrit que je vois, c'est : utilise Jquery, rensigne toi, c'est vraiment génial.

Sinon, il suffit de changer, via javascript au chargement de la page, le css display:none;
0
Profil bloqué
21 sept. 2010 à 19:30
Problème résolu, solution utiliser ci-après

@tompsy-> Je sais que ca vas être du jquery que j'utilise déjà mais l'info pour afficher ou cacher provient d'une page php donc il me fallait trouver comment faire l'appelle en ajax.

Solution utiliser:Placer le bouton a dissimuler dans une div:
<div id="submitbox" style="display:block"><input type="submit" value="S'enregistrer"></div>


ensuite et seulement ensuite, applique le javascript suivant (a renommer suivant votre cas bien sur).
<script type="text/javascript">
    document.getElementById('submitbox').style.display = "none";
</script>

Si ce code est placer avant, le javascript ne cache pas la div comme prévue. Ne me demander pas pourquoi :p je ne le sais pas :p

Enfin, afin de savoir si tout les champs sont marquer comme bon, il suffit ors de leur vérification de créer une variable de session nommer correctement (même si le nom est long)
et de placer un autre test qui vérifie si toutes las variable de session sont existant ou non ce qui permet alors l'affichage de la div.
Si le résultat du test est faux, on supprime la variable de session si elle existe et via javascript, on cache de nouveau la div.

function verifName(name)
     {
     if(name != '')
               {
               if(name.length<2)
                         writedivname('<span style="color:#cc0000">Le nom est trop court</span>');
               else if(name.length>30)
                         writedivname('<span style="color:#cc0000">Le nom est trop long</span>');
               else if(textename = file('../verifpseudo.php?name='+escape(name)))
                         {
          if(textename == 1){
               writedivname('<span style="color:#cc0000">Ce nom est deja pris</span>');
               document.getElementById('submitbox').style.display = "none";
          }else if(textename == 2){
               writedivname('<span style="color:#1A7917">Ce nom est libre</span>');
               texteSubmit = file('../verifpseudo.php?submit')
                 if(texteSubmit == 2){
                       document.getElementById('submitbox').style.display = "block";
                 }
          }else{
               writedivname(textename);}
                         }
               }

     }


Voila la solution, je ne me suis peut être pas bien exprimer donc si vous voulez plus d'infos, demander :p
0