Soumission de formulaire
Résolu/Fermé
heliconius
Messages postés
539
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
23 juin 2023
-
6 déc. 2018 à 00:39
Utilisateur anonyme - 15 déc. 2018 à 21:08
Utilisateur anonyme - 15 déc. 2018 à 21:08
A voir également:
- Soumission de formulaire
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Le formulaire rempli - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Google Chrome
- Confirmation de l'envoi d'un formulaire html ✓ - Forum HTML
2 réponses
jordane45
Messages postés
38389
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2025
4 729
6 déc. 2018 à 06:43
6 déc. 2018 à 06:43
Bonjour
Que contient la fonction verif ?
Que dit la console de ton navigateur ?
Que contient la fonction verif ?
Que dit la console de ton navigateur ?
Utilisateur anonyme
Modifié le 13 déc. 2018 à 19:21
Modifié le 13 déc. 2018 à 19:21
Bonjour
Tu as dans ton form un élément qui s'appelle "submit".
document.personne.submit désigne cet élément, et non plus la méthode submit de document.personne.
Renomme ton élément différemment, et document.personne retrouvera sa méthode "submit".
Remarque complémentaire : pourquoi écris-tu "Comme il ne peut y avoir qu'un seul bouton de type "submit" dans le formulaire" ? Qu'est-ce qui t'empêche d'en mettre plusieurs ? Il suffit de leur donner des noms différents, et de tester quel est le nom transmis car seuls les boutons cliqués sont transmis. Tu peux également leur donner le même nom, mais deux "value" différentes.
Tu as dans ton form un élément qui s'appelle "submit".
document.personne.submit désigne cet élément, et non plus la méthode submit de document.personne.
Renomme ton élément différemment, et document.personne retrouvera sa méthode "submit".
Remarque complémentaire : pourquoi écris-tu "Comme il ne peut y avoir qu'un seul bouton de type "submit" dans le formulaire" ? Qu'est-ce qui t'empêche d'en mettre plusieurs ? Il suffit de leur donner des noms différents, et de tester quel est le nom transmis car seuls les boutons cliqués sont transmis. Tu peux également leur donner le même nom, mais deux "value" différentes.
heliconius
Messages postés
539
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
23 juin 2023
140
15 déc. 2018 à 18:35
15 déc. 2018 à 18:35
Alors, là ! Super merci, grand bravo et chapeau bas. A double titre.
D'abord le fait qu'une fonction submit() disparaisse au profit d'un contrôle ayant le même nom, ce n'est pas d'une évidence flagrante. Vu qu'en PHP une variable $truc peut cohabiter avec une fonction truc(), je n'ai jamais pensé qu'il pût en être différemment avec Javascript ! Tu dois avoir pas mal d'heures de javascript derrière toi...
Ensuite, le fait qu'il puisse y avoir plusieurs boutons de type submit ! J'ai toujours cru et codé avec l'idée que s'il pouvait y avoir plusieurs formulaires dans la même page, ce qui n'était pas gênant car chacun d'eux avait leur nom propre, il ne pouvait y avoir qu'un seul et unique bouton de type submit par formulaire. Je viens d'apprendre donc, que dans un formulaire il peut y avoir plusieurs boutons de type submit et qui plus est, avec le même nom et que la différnce se fera par la valeur ! Bluffé. Sérieusement, ça m'ouvre d'autres perspectives. Merci.
Si ça t'intéresse, je peux t'envoyer en MP le code complet, le tester et proposer des améliorations de fonctionnalités voire corriger un bug sur lequel je bute aussi (facultatif :-). C'est une gestion de carnet d'adresses avec différents types d'export. Objectif : fichier PHP unique.
En tout cas un très grand merci, t'as pas volé ton pseudo, toi ! ;-)
Question résolue.
D'abord le fait qu'une fonction submit() disparaisse au profit d'un contrôle ayant le même nom, ce n'est pas d'une évidence flagrante. Vu qu'en PHP une variable $truc peut cohabiter avec une fonction truc(), je n'ai jamais pensé qu'il pût en être différemment avec Javascript ! Tu dois avoir pas mal d'heures de javascript derrière toi...
Ensuite, le fait qu'il puisse y avoir plusieurs boutons de type submit ! J'ai toujours cru et codé avec l'idée que s'il pouvait y avoir plusieurs formulaires dans la même page, ce qui n'était pas gênant car chacun d'eux avait leur nom propre, il ne pouvait y avoir qu'un seul et unique bouton de type submit par formulaire. Je viens d'apprendre donc, que dans un formulaire il peut y avoir plusieurs boutons de type submit et qui plus est, avec le même nom et que la différnce se fera par la valeur ! Bluffé. Sérieusement, ça m'ouvre d'autres perspectives. Merci.
Si ça t'intéresse, je peux t'envoyer en MP le code complet, le tester et proposer des améliorations de fonctionnalités voire corriger un bug sur lequel je bute aussi (facultatif :-). C'est une gestion de carnet d'adresses avec différents types d'export. Objectif : fichier PHP unique.
En tout cas un très grand merci, t'as pas volé ton pseudo, toi ! ;-)
Question résolue.
jordane45
Messages postés
38389
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2025
4 729
>
heliconius
Messages postés
539
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
23 juin 2023
15 déc. 2018 à 18:55
15 déc. 2018 à 18:55
comme quoi... dès qu'on montre toutes les infos nécéssaires (un code un peu plus fourni par exemple) peut vite aider à trouver la réponse..... et ça.. même si tu pensais le contraire.
Quoi qu'il en soit, pense à mettre le sujet en résolu. Merci.
Quoi qu'il en soit, pense à mettre le sujet en résolu. Merci.
heliconius
Messages postés
539
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
23 juin 2023
140
>
jordane45
Messages postés
38389
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2025
15 déc. 2018 à 20:20
15 déc. 2018 à 20:20
ça ne me gênait pas d'afficher le code. Mais il faisait plus de 3300 lignes, je n'avais pas envie de faire comme certains qui te balancent le code entier d'une page et disent : merci de me trouver l'erreur.
Les gens qui aident sont des gens qui aident, pas des larbins qu'on vient solliciter juste quand on en a besoin.
D'ailleurs, pour éviter d'encombrer le fil, je proposais même d'envoyer le code en privé et n'afficher que ce qui me paraissait utile. Mais tu n'as pas tort non plus, un code un peu plus fourni... Ce qui n'est pas évident c'est de savoir ce qui sera utile. En tout cas merci à toi aussi de t'être arrêté sur cette question et de m'avoir rappelé qu'il existait une console du navigateur que je n'avais jamais eu l'heur d'utiliser. :-(
En tout cas merci à tous et la question est marquée en résolue.
Les gens qui aident sont des gens qui aident, pas des larbins qu'on vient solliciter juste quand on en a besoin.
D'ailleurs, pour éviter d'encombrer le fil, je proposais même d'envoyer le code en privé et n'afficher que ce qui me paraissait utile. Mais tu n'as pas tort non plus, un code un peu plus fourni... Ce qui n'est pas évident c'est de savoir ce qui sera utile. En tout cas merci à toi aussi de t'être arrêté sur cette question et de m'avoir rappelé qu'il existait une console du navigateur que je n'avais jamais eu l'heur d'utiliser. :-(
En tout cas merci à tous et la question est marquée en résolue.
Utilisateur anonyme
>
heliconius
Messages postés
539
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
23 juin 2023
15 déc. 2018 à 21:08
15 déc. 2018 à 21:08
De rien :)
Je ne souhaite pas m'investir dans l'étude d'un code complet. Par contre, si tu rencontres des bugs, tu sais que tu peux toujours les soumettre au forum.
Je ne souhaite pas m'investir dans l'étude d'un code complet. Par contre, si tu rencontres des bugs, tu sais que tu peux toujours les soumettre au forum.
6 déc. 2018 à 14:33
et merci pour ta réponse. La fonction verif() ne pose pas de problème. Le script a été commencé en avril 2013 et je l'utilise sans problème depuis. Quand j'ai besoin d'une fonction utilisateur supplémentaire, je rajoute le code PHP nécessaire et éventuellement une ou des fonctions javascript nécessaire(s) à cette nouvelle fonction d'utilisation mais je ne touche pas au code de la fonction verif() sauf si j'ajoute un nouveau champ qu'il faut vérifier.
En gros, je m'étais fait une bibliothèque de fonctions javascript totalement indépendantes de la page dans laquelle elles sont utilisées. Les variables sont internes à chacune de ces fonctions.
Pour m'y retrouver, j'ai normalisé les noms :
- Il y a les fonctions is.....() qui retournent une valeur true ou false (ex: isDate(), isHour(), isTDL(), etc...)
- et il y a les fonctions isValid....() qui retournent soit OK soit un message d'erreur à afficher (ex: isValidText(), isValidDate(), isValidMail(), etc...)
Ces deux paquets de fonctions peuvent être utilisés dans n'importe quelle page web.
Vient ensuite la fonction verif(), propre à mon formulaire, et qui utilise ces fonctions "bibliothèque" pour :
1) vérifier si le champ nécessaire est présent
2) vérifier que tous les caractères saisis soient dans la liste des caractères aurorisés pour ce champ ainsi que la longueur soit comprise entre des limites inférieure et supérieure. Dans ce cas un "OK" est renvoyé par une des fonctions isValid...() et on passe au champ suivant. Sinon le message d'erreur renvoyé est affiché, le curseur positionné sur le champ erroné et la main est rendue
3) Certains champs sont facultatifs. S'ils sont vides on passe au champ suivant mais s'ils sont saisis, la validité des saisies est vérifiée.
etc... pour tous les champs. En fin de la vérification, true est renvoyé et le formulaire est soumis, envoyé.
Je ne touche quasiment jamais à la fonction verif() qui a toujours fonctionné jusque là. Tu peux d'ailleurs les trouver à l'URL http://www.fauque.fr/pbjs.php
Je peux ici t'afficher ce code mais je ne pense pas qu'il ne t'aidera pas à résoudre. Cela ne me gêne pas de t'envoyer le tout en privé. Mais :
1) tu n'es pas mon debugger privé, juste quelqu'un qui veut bien aider et c'est sympa,
2) Je n'aime pas trop fournir quelque chose qui soit imparfait même si je compte par la suite le laisser en téléchargement libre. En effet, il y a dedans un "bug" (je ne sais comment l'appeler). Parmi les exports possibles : csv, sql, vcf, xml, Word, Excel, il y a aussi l'export en ebook au format epub. L'export se fait correctement. Je le récupère sur PC et l'ouvre sans problème avec un lecteur d'ebook PC ou avec le plug-in EPUBReader de Firefox. Mais si je l'importe avec un smartphone ou une tablette : Erreur ! En revanche, si j'ouvre ce fichier .epub avec Sigil (logiciel libre de création d'epub) et que SANS RIEN MODIFIER j'enregistre (donc: Fichier/Ouvrir et Fichier/Enregistrer dans la foulée) le problème est réglé et l'epub est lisible sur smartphone, ou tablette (bref, Android). Quand le problème sera réglé, il sera mis en téléchargement libre. J'ai cherché longtemps mais n'ai pas encore trouvé. Je laisse donc en standby et voulais juste ajouter la fonction Cloner une fiche dans laquelle je rencontre cette soumission de formulaire sur laquelle je butte. Et ton aide est la bienvenue sur tous les fronts... :-)
Merci.
PS: J'ai honte mais je n'ai jamais utilisé la console du navigateur et ne sais comment faire. :-((
Modifié le 12 déc. 2018 à 21:39
Menu : Outils / Développement web / Console web : Onglet "Console"
TypeError: document.getElementById(...).submit is not a function
Dans la fonction javascript cloner() j'ai remplacé par mais avec l'une ou l'autre instruction j'ai le même message d'erreur.
NB: La première instruction de la fonction cloner() : est opérationnelle.
12 déc. 2018 à 22:37
Tu as donc certainement une erreur ailleurs....
Mais comme tu ne veux pas nous montrer l'intégralité de ton code... ni de capture d'écran de ta console ( au chargement de la page PUIS lors du clic sur le bouton ).. IMPOSSIBLE de t'en dire plus !
13 déc. 2018 à 16:30
Ce n'est pas que je NE VEUX PAS montrer mon code, mais l'intégralité du code PHP fait 3389 lignes !!!
Ce que je peux faire c'est :
1) Copier le code source d'une page à modifier (avant de cloner), de l'alléger (car le défi que je m'étais fixé était de TOUT faire en UN SEUL et UNIQUE script, images comprises) et poster le résultat ici.
2) t'envoyer l'intégralité du code en MP en te donnant quelques infos pour savoir où modifier le code (pour l'accès à la base de données) afin que tu l'utilises "en situation réelle" (ajouts, modifs, exports etc..) ça te permettra peut-être de mieux voir où ça peut coincer.
Voici donc le source HTML lorsqu'un enregistrement est affiché (pour modif ou clonage) :
Si tu veux le code PHP complet en MP, dis-le moi.
Si tu disposes d'un hébergement PHP/MySQL après avoir modifié les lignes avec les infos pour accéder à MySQL, il suffit de taper pour créer les tables, puis de l'utiliser.