Maison interface Web Questions et réponses frontales Comment convertir un formulaire en chaîne json en javascript

Comment convertir un formulaire en chaîne json en javascript

Apr 25, 2023 am 10:42 AM

Dans le développement Web moderne, JavaScript est devenu une partie intégrante. En tant que langage de script côté client, JavaScript peut interagir très facilement avec HTML et CSS pour obtenir une interaction utilisateur dynamique et une expérience utilisateur riche.

Parmi eux, les formulaires sont l'une des méthodes d'interaction les plus courantes et les plus importantes dans les applications Web. Grâce à des formulaires, les utilisateurs peuvent facilement saisir et soumettre des données, et les développeurs peuvent facilement obtenir et traiter ces données.

Comment convertir les données d'un formulaire HTML en données au format JSON en JavaScript ? Il s’agit d’une exigence courante et cet article explique comment la mettre en œuvre.

1. Bases du formulaire HTML

Pour faciliter la démonstration et l'explication, examinons d'abord un code de formulaire HTML simple :

<form>
  <label for="username">用户名:</label>
  <input type="text" id="username" name="username"><br>
  
  <label for="password">密码:</label>
  <input type="password" id="password" name="password"><br>
  
  <label>性别:</label>
  <input type="radio" name="gender" value="male" id="male"><label for="male">男</label>
  <input type="radio" name="gender" value="female" id="female"><label for="female">女</label><br>
  
  <label>爱好:</label>
  <input type="checkbox" name="hobby" value="reading" id="reading"><label for="reading">阅读</label>
  <input type="checkbox" name="hobby" value="travel" id="travel"><label for="travel">旅游</label>
  <input type="checkbox" name="hobby" value="music" id="music"><label for="music">音乐</label><br>
  
  <label for="comment">评论:</label>
  <textarea id="comment" name="comment"></textarea><br>
  
  <input type="submit" value="提交">
</form>
Copier après la connexion

Il s'agit d'un code qui comprend des zones de saisie, des cases radio, des cases à cocher, des champs de texte et des boutons de soumission. formulaire. Nous pouvons saisir du texte dans la zone de saisie, sélectionner des options dans les cases radio et les cases à cocher, et enfin cliquer sur le bouton Soumettre pour soumettre les données du formulaire au serveur.

Notez que chaque élément du formulaire a un attribut name et un attribut value. L'attribut name est utilisé pour identifier le nom de cet élément, et l'attribut value est utilisé pour enregistrer la valeur saisie par l'utilisateur.

2. Obtention des données du formulaire

En JavaScript, vous pouvez obtenir les données saisies par l'utilisateur en accédant à l'attribut value de l'élément du formulaire. Par exemple, pour obtenir les valeurs du nom d'utilisateur et du mot de passe, vous pouvez procéder comme suit :

var username = document.getElementById("username").value; // 获取用户名
var password = document.getElementById("password").value; // 获取密码
Copier après la connexion

De même, vous pouvez également obtenir les valeurs d'autres éléments du formulaire.

3. Convertir les données du formulaire au format JSON

Dans le développement réel, nous devons généralement convertir les données du formulaire en données au format JSON pour le stockage ou la transmission. Ci-dessous, nous présenterons comment implémenter cette fonction.

Tout d'abord, nous devons lier une fonction de soumission au formulaire. Dans cette fonction, nous pouvons suivre les étapes suivantes pour obtenir les données du formulaire et les convertir au format JSON :

document.getElementById("form").addEventListener("submit", function(event) {
  event.preventDefault(); // 阻止表单的默认提交行为
  
  var form = document.getElementById("form");
  var data = new FormData(form);
  
  var json = {};
  data.forEach(function(value, key) {
    if (json[key] !== undefined) {
      if (!Array.isArray(json[key])) {
        json[key] = [json[key]];
      }
      json[key].push(value);
    } else {
      json[key] = value;
    }
  });
  
  console.log(json); // 输出JSON格式的数据
});
Copier après la connexion

Ici, nous utilisons l'objet FormData pour obtenir les données du formulaire. Cet objet fournit des méthodes courantes pour traiter les données du formulaire, telles que l'obtention des valeurs de tous les éléments du formulaire, l'obtention de la valeur des éléments de formulaire spécifiés, etc.

Ensuite, nous devons convertir l'objet FormData en données au format JSON. L'implémentation spécifique est la suivante :

  1. Parcourez les éléments de l'objet FormData un par un pour obtenir les valeurs de leurs attributs name et value.
  2. Si l'attribut name actuel est déjà apparu, il est considéré comme un tableau. En effet, certains éléments du formulaire peuvent avoir le même nom, par exemple plusieurs cases à cocher peuvent toutes avoir l'attribut de nom « hobby ».
  3. Ajoutez la valeur actuelle (valeur) au tableau correspondant pour enregistrer les valeurs de plusieurs cases à cocher.
  4. Sinon, ajoutez directement la valeur actuelle (value) à l'objet JSON (json) comme valeur d'attribut.

Notez que s'il y a plusieurs éléments portant le même nom dans le formulaire, comme plusieurs cases à cocher, nous devons enregistrer leurs valeurs dans un tableau. Par conséquent, lors de la traversée d'objets FormData, nous devons déterminer si leurs valeurs (valeur) sont déjà des tableaux. Sinon, vous devez les convertir en tableaux.

Enfin, nous pouvons afficher les données converties au format JSON via console.log. Ces données peuvent être utilisées pour la sérialisation, le stockage ou la transmission.

4. Résumé

Dans cet article, nous avons présenté comment convertir les données de formulaire en données au format JSON en JavaScript. En utilisant des méthodes telles que les objets FormData et en traversant des éléments de formulaire, nous pouvons facilement implémenter cette fonction, obtenant ainsi un traitement des données plus flexible et plus efficace. Que ce soit dans le développement front-end, le développement back-end ou le développement d’applications mobiles, cette technologie constitue un élément important et mérite d’être maîtrisée et utilisée par les développeurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Mar 19, 2025 pm 03:58 PM

L'article traite de l'utilisation Effecte dans React, un crochet pour gérer les effets secondaires comme la récupération des données et la manipulation DOM dans les composants fonctionnels. Il explique l'utilisation, les effets secondaires courants et le nettoyage pour éviter des problèmes comme les fuites de mémoire.

Expliquez le concept de chargement paresseux. Expliquez le concept de chargement paresseux. Mar 13, 2025 pm 07:47 PM

Le chargement paresseux retarde le chargement du contenu jusqu'à ce qu'il soit nécessaire, améliorant les performances du Web et l'expérience utilisateur en réduisant les temps de chargement initiaux et la charge du serveur.

Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable? Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable? Mar 18, 2025 pm 01:44 PM

Les fonctions d'ordre supérieur dans JavaScript améliorent la concision du code, la réutilisabilité, la modularité et les performances par abstraction, modèles communs et techniques d'optimisation.

Comment fonctionne le currying en JavaScript et quels sont ses avantages? Comment fonctionne le currying en JavaScript et quels sont ses avantages? Mar 18, 2025 pm 01:45 PM

L'article traite du curry dans JavaScript, une technique transformant les fonctions mulguments en séquences de fonctions à argument unique. Il explore la mise en œuvre du currying, des avantages tels que des applications partielles et des utilisations pratiques, améliorant le code

Comment fonctionne l'algorithme de réconciliation React? Comment fonctionne l'algorithme de réconciliation React? Mar 18, 2025 pm 01:58 PM

L'article explique l'algorithme de réconciliation de React, qui met à jour efficacement le DOM en comparant les arbres DOM virtuels. Il traite des avantages de la performance, des techniques d'optimisation et des impacts sur l'expérience utilisateur. Compte de charge: 159

Comment connectez-vous les composants React au magasin Redux à l'aide de Connect ()? Comment connectez-vous les composants React au magasin Redux à l'aide de Connect ()? Mar 21, 2025 pm 06:23 PM

L'article discute de la connexion des composants React à Redux Store à l'aide de Connect (), expliquant MapStateToproprop, MapDispatchToprops et des impacts de performances.

Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Mar 19, 2025 pm 03:59 PM

L'article explique UseContext dans React, qui simplifie la gestion de l'État en évitant le forage des accessoires. Il traite des avantages tels que les améliorations centralisées de l'État et des performances grâce à des redevances réduites.

Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Mar 19, 2025 pm 04:10 PM

L'article discute de la prévention des comportements par défaut dans les gestionnaires d'événements à l'aide de la méthode empêchée dedEfault (), de ses avantages tels que une expérience utilisateur améliorée et des problèmes potentiels tels que les problèmes d'accessibilité.

See all articles