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 :

Fonction submit sur un formulaire


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Avril 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 12
    Points : 14
    Points
    14
    Par défaut Fonction submit sur un formulaire
    Bonjour

    J'ai un formulaire, où j'ai un bouton qui appelle une fonction JS qui après certaines conditions vérifiées submit ce formulaire, sauf que les input de type text du formulaires ont l'attributs 'required'. Cet attribut se déclenche bien si j'utilise un input type='submit' mais si j'effectue le submit via une fonction JS les required ne se déclenchent pas et on peut valider le formulaire sans avoir respecté les required. Une idée pour les activer même si ils sont présents ?

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 309
    Points : 1 385
    Points
    1 385
    Par défaut
    Bonjour,

    dans la fonction vous pouvez tester si le champ est requis et agir en fonction de son contenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (document.getElementById("monTexte").required && document.getElementById("monTexte").value != '') ...

  3. #3
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Pas besoin de faire ça manuellement Christophe, les API de validation de formulaire en HTML5 servent à ça. Il faut juste appeler checkValidity et vérifier que le retour est à "true".
    Voilà un article en anglais sur la validation de formulaires en HTML5: http://www.html5rocks.com/en/tutoria...intvalidation/

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Citation Envoyé par Arakharam Voir le message
    ...Cet attribut se déclenche bien si j'utilise un input type='submit' mais si j'effectue le submit via une fonction JS les required ne se déclenchent pas ..
    Salut,

    Rien ne t'empêche de faire les deux.

    Si tu appelles ta fonction de contrôle juste avant la soumission du formulaire, je ne vois pas pourquoi ton bouton ne pourrait pas être de type submit, d'autant plus que c'est dans la logique du code.

    Tu déclenches ta fonction onSubmit et si des données contrôlées sont invalides, tu retournes false et si besoin une info adéquate dans le html, et si tout est ok tu soumets le formulaire. Les méthodes event.preventDefault, et event.stopPropagation seront tes amies dans ce cas de figure souvent rencontré en javascript.

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