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 :

non-submit et HTML5


Sujet :

JavaScript

  1. #1
    Membre éprouvé
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Par défaut non-submit et HTML5
    Bonjours,
    Je code mes pages en HTML5 et j'ai un petit souçis avec la soumission de document avec les différents navigateurs que j'utilise pour tester mes pages, bref venons en au fait:
    Voici un petit code qui permet de tester si le navigateur accepte un attribut d'un element HTML:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function elementGetAttribut(element, attribut) {
      var test=document.createElement(element) ; 
      if (attribut in test) {
        return true
      }
      else {
        return false
      }
    }
    Fonction qui peut bien etre utile au devloppeurs HTML5 pour vérifier si l'attribut est compris par le navigateur, dans mon cas j'ai tester dans un formulaire l'attribut required:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if ( ! elementGetAttribut('input', 'required')) {
      //solution javascript de secours ici
    }
    Tout ce passe bien pour afficher les messages prévenant le visiteur qu'il a omnis un champ obligatoire mais les navigateur: Chrome et Safari valident le formulaire (les paramètres apparaissent dans la barre d'URL et comme je n'ai pas encore définis d'adresse d'envoie je suppose qu'ils valident le formulaire et l'envoie au traitement) la est mon problème:
    Comment empécher ces navigateurs résistants de soumettre le document, j'ai essayer de faire renvoyer false a la fonction qui est coupler au bouton submit avec l'évènement onmousedown mais ca ne marche pas.
    Si quelqu'un a une solution il serai sympa de la poster.
    Merci pour vos réponses.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 203
    Par défaut
    Bonsoir,
    il faudrait nous monter comment tu appelles la fonction dans ton code.
    Comment empécher ces navigateurs résistants de soumettre le document
    par exemple sur l'événement onsubmit du formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="test.php" onsubmit="return( verifSaisie(this))";>
    Il va de soi que la fonction verifSaisie doit retourner une valeur true/false, ou équivalent...

    nota : les seuls VRAIES vérifications sont celles réalisées coté serveur.

  3. #3
    Membre éprouvé
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Par défaut
    j'appelle ma fonction avec l'évènement onmousedown dans la balise button de type submit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <button type='submit' onmousedown="mafonction()">Soumettre</button>
    Malgré qu'elle revoie false Chrome et Safari valide le formulaire, j'ai meme essayer de bricoler avec history.back() mais je n'ai pas encore essayer l'évènement onsubmit.

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ben c'est normal que le formulaire soit validé...
    C'est la fonction anonyme créée avec le contenu de l'attribut qui doit retourner false, pas la fonction appelée (voir l'exemple de NoSmoking).
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre éprouvé
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Par défaut
    Si j'ai bien compris l'appel de la fonction qui renvoie false doit etre du type: mafonction(this).
    Merci pour vos réponses.

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    Renvoyer false pour "onmousedown" ne devrait effectivement pas avoir bcp d'effet.
    Vous pouvez le faire pour "onclick".

    Le mieux reste de le faire sur "onsubmit" car on peut soumettre un formulaire juste en pressant "enter" / "return"

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 203
    Par défaut
    de plus le onmousedown n'est qu'une "étape" de la validation, et si je revenait sur ma décision et que je relâché la mouse hors bouton?

  8. #8
    Membre éprouvé
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Par défaut
    J'y suis arriver a bloquer la soumission du document avec les navigateurs rétissant en implémentant une fonction qui renvoie false coupler a l'évènement onsubmit dans la balise <form>, car si on met l'évènement dans le bouton de soumission ca ne marche pas, vous auriez pus me le dire...
    la question est résolu merci pour vos réponses.

  9. #9
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    Citation Envoyé par Luke spywoker Voir le message
    vous auriez pus me le dire...
    J'espère que c'est de l'humour.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. lib mechanize tâche sur bouton non submit
    Par cz3ch dans le forum Ruby
    Réponses: 0
    Dernier message: 02/08/2011, 08h37
  2. [HTML 5] Superposition de balise UL non valide en HTML5 ?
    Par motenai dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 06/02/2011, 20h27
  3. CSS non appliqué à l'HTML5
    Par Boris56 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 20/05/2010, 01h02
  4. On submit non pris en compte si form soumis par onClick
    Par romulus dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/10/2006, 17h43
  5. Methode submit() non reconnue ?!
    Par faico dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/07/2006, 17h04

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