IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] Tester les champs d'un formulaire avant de pouvoir l'envoyer


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 501
    Points : 144
    Points
    144
    Par défaut [AJAX] Tester les champs d'un formulaire avant de pouvoir l'envoyer
    Bonsoir,

    Je débute dans l'Ajax, j'ai découvert cela hier et j'ai déjà commencé à m'amuser avec j'addoore ! lol

    J'aimerais vérifier les quelques champs de mon formulaire en live au lieu de soumettre le formulaire et dire tout ce qu'il ne va pas après, donc j'aimerais pouvoir envoyer le formulaire seulement si tout est ok...

    A chaque champ, j'appelle une fonction correspondante, ex avec 2 champs (email et pseudo):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <input type="text" id="email" name="email" size="25" maxlength="100" OnBlur="javascript:verifEmail(this.value)" /> 
    <img name="emailbox_img" style="display: none;" src="images/form_ok.gif" width="12" height="12" /><br />
    <div id="emailbox_div"></div>
     
    <input type="text" id="pseudo" name="pseudo" size="25" maxlength="100" OnBlur="javascript:verifPseudo(this.value)" /> 
    <img name="pseudobox_img" style="display: none;" src="images/form_ok.gif" width="12" height="12" /><br />
    <div id="pseudobox_div"></div>
    Voilà, donc à chaque fois, dans les div, j'affiche le(s) message(s) d'erreur(s) et quand c'est ok, j'affiche une image à coté de l'input qui confirme que c'est bon.

    Ca c'est bon j'y parviens...

    Mais comment rajouter un bouton qui permet l'envoi du formulaire que si tous les champs sont OK... ?



    Et une autre question que je me pose... étant donné qu'on a déjà vérifié les informations, lorsqu'on envoie le formulaire vers une page php de traitement, pas la peine de refaire toutes les vérifications ?
    Bien sur, si javascript est désactivé, du coup tout tombe à l'eau, mais dans ce cas, pourrait-on pas écrire avec javascript un champ caché qui permet donc de savoir que le javascript fonctionne et donc dans ce cas, si on a ce champs, dans la page php de traitement on ne recommencera pas à vérifier tous les champs...

    Qu'en pensez-vous ?

    Merci
    ++

  2. #2
    Membre actif Avatar de Ikonic
    Inscrit en
    Février 2007
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 197
    Points : 202
    Points
    202
    Par défaut
    Salut,

    Pour ton bouton d'envoi, tu peux par exemple définir un onclick. Puis dans ta fonction appelée en javascript, tu récupères le style de tes deux div ok. Ensuite, plus qu'à faire une vérification du style des div ok... Et finalement, si le style des deux div ok sont égaux à '' alors ça lance ta requête ajax pour enregistrer les données des input...
    piksite.com
    Pour vos photos, images, .... » Carousel.us

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/07/2009, 16h26
  2. Comment récuperer les champs d'un formulaire?
    Par steeves5 dans le forum Langage
    Réponses: 5
    Dernier message: 08/02/2006, 10h54
  3. [DREAMWEAVER 8] Comment tester les champs d'un formulaire
    Par steeves5 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 05/02/2006, 21h43
  4. Réponses: 4
    Dernier message: 16/09/2005, 14h27
  5. Réponses: 18
    Dernier message: 22/10/2004, 14h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo