Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/09/2011, 07h52   #1
Membre confirmé
 
Avatar de Luke spywoker
 
Homme
Etudiant informatique autodidacte
Inscription : juin 2010
Messages : 452
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Etudiant informatique autodidacte

Informations forums :
Inscription : juin 2010
Messages : 452
Points : 278
Points : 278
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 :
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 :
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.
__________________
Pour faire tes armes:
Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
Et sois toujours bien armé avant de te lancer.
Le hasard ne sourit qu'aux gens préparés...
Blog: http://3dcyberspace.unblog.fr/
Site: Sanctuaire cybernétique
Luke spywoker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2011, 22h09   #2
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 779
Points : 4 779
Bonsoir,
il faudrait nous monter comment tu appelles la fonction dans ton code.
Citation:
Comment empécher ces navigateurs résistants de soumettre le document
par exemple sur l'événement onsubmit du formulaire
Code :
<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.
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 06h23   #3
Membre confirmé
 
Avatar de Luke spywoker
 
Homme
Etudiant informatique autodidacte
Inscription : juin 2010
Messages : 452
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Etudiant informatique autodidacte

Informations forums :
Inscription : juin 2010
Messages : 452
Points : 278
Points : 278
j'appelle ma fonction avec l'évènement onmousedown dans la balise button de type submit:
Code :
<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.
__________________
Pour faire tes armes:
Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
Et sois toujours bien armé avant de te lancer.
Le hasard ne sourit qu'aux gens préparés...
Blog: http://3dcyberspace.unblog.fr/
Site: Sanctuaire cybernétique
Luke spywoker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 08h47   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 789
Points : 35 789
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 !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 11h01   #5
Membre confirmé
 
Avatar de Luke spywoker
 
Homme
Etudiant informatique autodidacte
Inscription : juin 2010
Messages : 452
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Etudiant informatique autodidacte

Informations forums :
Inscription : juin 2010
Messages : 452
Points : 278
Points : 278
Si j'ai bien compris l'appel de la fonction qui renvoie false doit etre du type: mafonction(this).
Merci pour vos réponses.
__________________
Pour faire tes armes:
Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
Et sois toujours bien armé avant de te lancer.
Le hasard ne sourit qu'aux gens préparés...
Blog: http://3dcyberspace.unblog.fr/
Site: Sanctuaire cybernétique
Luke spywoker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 17h28   #6
Membre chevronné
 
Inscription : juillet 2006
Messages : 1 194
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 1 194
Points : 746
Points : 746
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"
Sergejack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 18h48   #7
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 779
Points : 4 779
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?
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 10h45   #8
Membre confirmé
 
Avatar de Luke spywoker
 
Homme
Etudiant informatique autodidacte
Inscription : juin 2010
Messages : 452
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Etudiant informatique autodidacte

Informations forums :
Inscription : juin 2010
Messages : 452
Points : 278
Points : 278
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.
__________________
Pour faire tes armes:
Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
Et sois toujours bien armé avant de te lancer.
Le hasard ne sourit qu'aux gens préparés...
Blog: http://3dcyberspace.unblog.fr/
Site: Sanctuaire cybernétique
Luke spywoker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 12h21   #9
Membre chevronné
 
Inscription : juillet 2006
Messages : 1 194
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 1 194
Points : 746
Points : 746
Citation:
Envoyé par Luke spywoker Voir le message
vous auriez pus me le dire...
J'espère que c'est de l'humour.
Sergejack est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h57.


 
 
 
 
Partenaires

Hébergement Web