Comment exécuter automatiquement un formulaire html à certaines conditions ?

Fermé
Rraiya - Modifié le 18 juin 2021 à 22:22
 Tcaro - 19 juin 2021 à 14:51
Bonjour à tous !
actuellement je travaille sur une petite application de facturation en PHP mais je ne suis pas trop fort en Ajax ni en JavaScript. Mon soucis est de trouver un code qui pourra me permettre d'exécuter mon formulaire une fois qu'une zone de texte est remplie. je voudrai que dès que le code d'un produit est saisi, automatiquement que l'on exécute le code PHP ajoutant l'article correspondant au code à la commande au lieu de cliquer à chaque fois sur le sumit "Ajouter".
Merci d'avance !!!!!

2 réponses

Salut,
HTML et un formulaire n'exécute rien.
Il envoi des données au mieux.
PHP non plus n’exécute rien car comme de nombreux langages de script il est interprété ce qui est différent d'une exécution.

"est de trouver un code qui pourra me permettre d'exécuter mon formulaire une fois qu'une zone de texte est remplie."
Plutôt d'envoyer le formulaire donc dans une condition précise.
Un tel code "tout fait" n'existe pas. Chaque programme est spécifique à son contexte(la page , le formulaire, les champs de celui ci) donc il vous faut apprendre à faire cette partie du programme. Ou au moins le comprendre pour pouvoir modifier un script d'exemple pour vos besoins. Plus que modifier il faudra l'enrichir et qu'il soit cohérent avec le contexte(pages, formulaire, champs, action déclencheur de l'envoi, adresse et destinataire de l'envoi, champs à envoyer etc...) lors de l'envoi du formulaire puis lors de la réception de ces données par PHP(ou autre) et de leur traitement éventuel.

Ceci étant dit pour tout ce qui est programmation côté client vous devez passer par JavaScript(il y a des exceptions mais plus rares et plus complexes).
Plus particulièrement la programmation événementielle dans le cas que vous indiquez.

Un exemple concret:

https://www.w3schools.com/jsref/event_onchange.asp

et pour plus d'infos
générales:
https://www.google.com/search?q=formulaire+HTML+javascript
plus spécifiques:
https://www.w3schools.com/jsref/dom_obj_form.asp

Bon apprentissage

ps: un peu d'algorithme peut vous aider aussi pour définir les différentes actions et étapes du programme. Par exemple l'envoi serait fait automatiquement une fois le champ rempli, mais qu'est ce qui est la condition qu'un champ soit rempli? La première lettre marquée dans le champ de texte? Cela risque de ne pas être ergonomique et facilement provoquer des erreurs, vous devez donc vérifier le contenu AVANT de provoquer l'envoi du formulaire ou non. Un champ de saisie de texte n'est pas non plus l'idéal dans ce cas, si l'utilisateur arrête sa saisie et la reprends cela peut générer des mêmes problèmes.
Donc oubliez l’exécution d'un formulaire(ce qui n'existe pas) et pencher vous sur la réalité des mécanismes qui sont inclus dans ceux ci: un envoi de données à un destinataire, le bouton ou une instruction JavaScript qui revient au même. Pour la vérification des champs vous trouverez aussi de nombreuses méthodes allant des plus simples(le champ est il rempli ou vide) à des méthodes de vérifications plus élaborées(patterns de caractères-il y a des possibilités en ECMA6+ directement en JavaScript) et/ou expressions régulières).
0
"je voudrai que dès que le code d'un produit est saisi, automatiquement que l'on exécute le code PHP ajoutant l'article correspondant au code à la commande"

Donc comme je vous ai indiqué déjà décomposé les actions à faire, je n'ai pas parlé d'algorithme pour rien, exemple décomposé en procédural sommaire-sans les erreurs éventuelles, à vous de décomposer en uin algo complet...il manque pas grand chose:
  • 1)Détecter un changement du champ de formulaire à tester
  • 2)comparer le contenu du champ avec les valeurs autorisées(c'est là que peuvent intervenir des méta-données avec le principe d'AJAX si nécessaire mais c'est pas obligatoire, au moins pour un modèle cohérent simple).

2a)Il faudra donc prévoir les valeurs autorisées: ce que vous appelez code à la commande je suppose. Donc les fournir à la page HTML ou mieux avec AJAX.
  • 3)Envoyer les données du formulaire si cela correspond(vers le bon fichier de traitement évidemment)
  • 4)Recevoir en PHP les données du formulaire et les parser et vérifier.
  • 5)Traiter ces données pour les insérer dans la base de donnée sou le bulletin de commande.



"suis pas trop fort en Ajax ni en JavaScript"
Alors vous savez ce que vous devez apprendre ;)
Mais bon si vous connaissez PHP cela ne devrait pas être un problème. JavaScript est un langage client donc pas de serveur à installer, il est interprété par le navigateur et permet de base de manipuler les éléments de la page ou d'y accéder(ce que ne sais pas vraiment faire PHP qui ne sait qu'écrire du texte en tant qu'HTML). Voir le DOM JavaScript. Bref JavaScript sert à manipuler, obtenir et enrichir HTML ce que ne permet pas PHP qui à pour rôle de faire la passerelle entre la page web(HTML) et la base de données et fonctionne avant le chargement de la page.

Comme dit précédemment un programme tout fait ça n'existe pas(lire les détails de pourquoi), ou alors vous refaites votre site avec un CMS et vous laissez tomber le code pour des modules qui seront moins souple, précis et vous force à adapter vos besoins au site plutôt que l'inverse.
0