Maison interface Web Questions et réponses frontales Comment implémenter le formulaire de transaction en javascript

Comment implémenter le formulaire de transaction en javascript

Apr 21, 2023 am 09:05 AM

Avec le développement du e-commerce, l'utilisation de formulaires de transaction est devenue de plus en plus courante. Le formulaire de transaction est une partie importante du processus de transaction de commerce électronique. Il constitue un pont reliant les acheteurs et les vendeurs et contient toutes les informations sur les transactions. Dans cet article, je vais vous présenter comment utiliser JavaScript pour implémenter un formulaire de transaction et fournir une implémentation pratique du code.

  1. Structure de base

Un formulaire de transaction typique comprend des informations sur l'acheteur et le vendeur, des informations sur le produit, le prix et la quantité, le mode de paiement et l'adresse de livraison, etc. En HTML, vous pouvez utiliser des éléments de formulaire pour créer la structure de base d'un formulaire de transaction.

<form>
  <h2>商品信息</h2>
  <label for="product_name">商品名称:</label>
  <input type="text" id="product_name" name="product_name">
  <br><br>
  <label for="price">价格:</label>
  <input type="text" id="price" name="price">
  <br><br>
  <label for="quantity">数量:</label>
  <input type="number" id="quantity" name="quantity">
  <br><br>

  <h2>买家信息</h2>
  <label for="name">姓名:</label>
  <input type="text" id="name" name="name">
  <br><br>
  <label for="email">电子邮件:</label>
  <input type="email" id="email" name="email">
  <br><br>
  <label for="address">送货地址:</label>
  <textarea id="address" name="address"></textarea>
  <br><br>

  <h2>付款方式</h2>
  <input type="radio" id="paypal" name="payment_method" value="paypal">
  <label for="paypal">PayPal</label>
  <br>
  <input type="radio" id="credit_card" name="payment_method" value="credit_card">
  <label for="credit_card">信用卡</label>
  <br><br>
  <label for="credit_card_number">信用卡号:</label>
  <input type="text" id="credit_card_number" name="credit_card_number">
  <br><br>
  <label for="expiry_date">有效期:</label>
  <input type="text" id="expiry_date" name="expiry_date">
  <br><br>

  <input type="button" onclick="submitForm()" value="提交">
</form>
Copier après la connexion

Dans cette structure HTML de base, nous incluons les informations sur le produit, les informations sur l'acheteur, le mode de paiement et le bouton d'envoi. L'utilisation de l'élément label rend un formulaire plus accessible car il est associé à des éléments de formulaire associés.

  1. Validation du formulaire

Avant de soumettre le formulaire, vous devez vérifier que tous les champs obligatoires sont remplis. Afin d'implémenter la validation du formulaire, nous devons utiliser JavaScript pour effectuer certaines vérifications. Nous utiliserons l'attribut required dans le formulaire pour marquer les champs obligatoires et utiliserons JavaScript pour vérifier si le formulaire a ces champs remplis. required属性来标记必填字段,并使用JavaScript来检查表单是否填写了这些字段。

function submitForm() {
  //获取所有表单元素
  var productName = document.getElementById('product_name').value;
  var price = document.getElementById('price').value;
  var quantity = document.getElementById('quantity').value;
  var name = document.getElementById('name').value;
  var email = document.getElementById('email').value;
  var address = document.getElementById('address').value;
  var paymentMethod = document.getElementsByName('payment_method');
  var creditCardNumber = document.getElementById('credit_card_number').value;
  var expiryDate = document.getElementById('expiry_date').value;

  //检查必填字段是否填写
  if (productName == '' || price == '' || quantity == '' || name == '' || email == '' 
      || address == '' || (paymentMethod[1].checked && creditCardNumber == '') 
      || (paymentMethod[1].checked && expiryDate == '')) {
      
    alert('请将表单填写完整');
  } else {
    //提交表单
    document.forms[0].submit();
  }
}
Copier après la connexion

在上面的代码中,我们获取了所有表单元素的值,并检查了必填字段是否填写了。如果有任何必填字段未填写,将弹出警告消息并阻止表单提交;否则将提交表单。

  1. 自动计算总价

另一个有用的功能是自动计算总价。在计算总价时,我们需要在Javascript中检索数量和价格的值,并将它们相乘以获得总价。

function calculateTotal() {
  var price = document.getElementById('price').value;
  var quantity = document.getElementById('quantity').value;
  var total = price * quantity;
  document.getElementById('total').innerHTML = total.toFixed(2);
}
Copier après la connexion

使用toFixed()方法将结果保留两位小数,并将结果显示在页面上。

<label for="price">价格:</label>
<input type="text" id="price" name="price" onkeyup="calculateTotal()">
<br><br>
<label for="quantity">数量:</label>
<input type="number" id="quantity" name="quantity" onkeyup="calculateTotal()">
<br><br>
<label for="total">总价:</label>
<span id="total"></span>
Copier après la connexion

在上面的代码中,我们在价格和数量输入框中添加了onkeyup事件,每次输入键释放时都会调用calculateTotal()方法。总价格将显示在页面上的total

function submitForm() {
  document.getElementById('submit_button').disabled = true; // 禁用提交按钮
  //其他代码
}
Copier après la connexion
Dans le code ci-dessus, nous obtenons les valeurs de tous les éléments du formulaire et vérifions si les champs obligatoires sont remplis. Si des champs obligatoires ne sont pas remplis, un message d'avertissement apparaîtra et la soumission du formulaire sera empêchée ; sinon, le formulaire sera soumis.
    1. Calcul automatique du prix total

    Une autre fonctionnalité utile est le calcul automatique du prix total. Lors du calcul du prix total, nous devons récupérer les valeurs de quantité et de prix en Javascript et les multiplier pour obtenir le prix total.

    rrreee

    Utilisez la méthode toFixed() pour conserver le résultat à deux décimales et afficher le résultat sur la page.

    rrreee

    Dans le code ci-dessus, nous avons ajouté l'événement onkeyup dans les zones de saisie du prix et de la quantité, et la méthode calculateTotal() sera appelée à chaque fois que la clé de saisie est libéré. Le prix total sera affiché dans l'élément total de la page.

    🎜🎜Empêcher la soumission répétée de formulaires🎜🎜🎜La dernière fonction est d'empêcher la soumission répétée de formulaires. Lorsqu'un utilisateur clique sur le bouton d'envoi, l'événement de clic peut être déclenché plusieurs fois, entraînant l'envoi du formulaire plusieurs fois. Pour éviter cela, nous pouvons désactiver le bouton de soumission avant de soumettre le formulaire. 🎜rrreee🎜Cette méthode est très simple en JavaScript, il suffit de désactiver le bouton de soumission avant de soumettre le formulaire. Cela évite les soumissions répétées de formulaires et garantit la sécurité des données des utilisateurs. 🎜🎜Dans cet article, nous présentons comment implémenter un formulaire de transaction à l'aide de JavaScript. Nous avons d'abord créé la structure HTML du formulaire puis utilisé JavaScript pour valider et calculer le prix total. Enfin, nous avons également discuté de la manière d'éviter les soumissions de formulaires en double. En développement réel, nous pouvons modifier et améliorer selon nos propres besoins pour créer un formulaire de transaction plus complet. 🎜

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)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

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 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é.

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.

Quels sont les avantages et les inconvénients des composants contrôlés et incontrôlés? Quels sont les avantages et les inconvénients des composants contrôlés et incontrôlés? Mar 19, 2025 pm 04:16 PM

L'article traite des avantages et des inconvénients des composants contrôlés et incontrôlés dans la réaction, en se concentrant sur des aspects tels que la prévisibilité, la performance et les cas d'utilisation. Il conseille les facteurs à considérer lors du choix entre eux.

See all articles