Application JS / HTML [Résolu]

Signaler
-
 Amados -
Bonjour,

je suis en train de créer ma première application en HTML et JavaScript et j' utilise un formulaire <form> JavaScript pour rentrer de nouvelle données à traiter.
Comment récupérer les données du formulaires et les traiter avec Java Script sans passer par le PHP? Est-ce possible? Est-ce le mieux à faire?
Comment stocker les données récupérées?

Cordialement.

Configuration: Windows / Firefox 74.0

1 réponse

Messages postés
27937
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 mars 2020
2 206
Bonjour,

A moins que tu ne codes en Node.js (ce dont je doute), sache que le javascript est exclusivement exécuté côté client ( par le navigateur web du visiteur).
De ce fait... sans un langage serveur (tel que le php, le ruby..... autre... ) tu ne pourras pas stocker les données.
Sauf (oui il y a un sauf... ) si les données ne doivent être stockées que sur l'ordinateur de ton visiteur.
Dans ce cas, il existe le localstage et les cookies. (tu trouveras des tutos la dessus sur internet sans trop de mal).
Mais vu ta question, j'ai l'impression que tu aimerais stocker les informations de façon à pouvoir y avoir accès depuis ton ordi )... et dans ce cas, il ne te reste que l'utilisation des langages serveurs.
Tu pourras ainsi, stocker les données dans une base de données ( mysql par exemple).

et là aussi, des tutos/cours sur la mise en place de php et de bases de données existent par millions sur le net.

Un exemple pour récupérer une donnée en JavaScript(ici le contenu d'un paragraphe):
<p id=valeur>ce texte est le contenu d'un élément transmis à un programme JavaScript où il devient une variable, donc utilisable de la façon que l'on veut
</p>
<script>
var recupere =document.getElementById('valeur').innerHTML;
console.log('La valeur du contenu du paragraphe est une chaîne de caractère: '+recupere);
</script>


Mais effectivement un formulaire traité en PHP et envoyé (le contenu du formulaire traité)ensuite à une base de données correspond mieux à ce que vous voulez faire.
JavaScript fonctionnant en local pour une page une fois cette page fermée il n'existera plus aucune trace de JavaScript ou des données.

En local(donc sans stockage qui dure) l'exemple que j'ai donné peut être modifié pour correspondre à un formulaire d'autant plus que les champs de saisie d'un formulaire permettent d'utiliser des méthodes qui n'existent pas pour un paragraphe comme la méthode .value (et non .innerHTML qui renvoi le texte/HTML contenu dans une balise)qui permet d'obtenir la valeur affiliée au contenu du champ.
Cette valeur peut-être différente du contenu, par exemple un nombre ou une case à cocher indiquant cochée ou pas cochée(vrai/faux).

Le principe est simplement d'indiquer un événement comme le clic sur un bouton qui va récupérer les valeurs des champs de saisie(input) en ayant préalablement (ou pas selon comment on veut faire le traitement) désactiver le comportement d'un formulaire par défaut qui est de l'envoyer selon la méthode et la cible définie par les attributs 'method' et 'action' de la balise 'form'.
J'indique cela parce que même si le contenu des données du formulaire est envoyé à une page de traitement en php(exemple
<FORM action='ttraitementFormulaire.php' method='POST'>
) il peut être utile de vérifier en local donc avec JavaScript si le formulaire contient bien des valeurs correctes et valides(comme un champ rempli ou un email valide).

Cela permet de ne pas faire l'envoi au serveur et donc éviter le temps de chargement nécessaire à cet envoi si les champs du formulaire ne sont pas valides et ne pourront être traité ou inscrits dans une base de données.