Maison > interface Web > js tutoriel > le corps du texte

Utilisez JavaScript pour implémenter des styles personnalisés et des invites pour les formulaires

王林
Libérer: 2023-06-15 14:41:33
original
1437 Les gens l'ont consulté

Avec la popularité des applications Web, les formulaires sont devenus un élément indispensable de notre travail quotidien. Lorsque nous utilisons un formulaire, nous devons généralement saisir des informations de base à soumettre au backend pour traitement. Les formes traditionnelles présentent cependant quelques défauts, que ce soit en termes d’esthétique ou de convivialité opérationnelle. Par conséquent, dans cet article, nous nous concentrerons sur la façon d’utiliser JavaScript pour implémenter des styles et des invites personnalisés pour les formulaires.

1. Implémenter la personnalisation du style de formulaire

Pour implémenter la personnalisation du style de formulaire, nous devons d'abord comprendre la structure de base et les attributs des éléments du formulaire HTML. Dans les pages Web, nous utilisons généralement la balise form pour définir un formulaire, puis ajoutons divers éléments de formulaire dans la balise form, tels que input, select, textarea, etc. Ensuite, pour ces éléments de formulaire, nous pouvons utiliser CSS pour les styliser. Cependant, si nous souhaitons implémenter des styles personnalisés plus complexes, nous devons utiliser JavaScript pour fonctionner.

  1. Ajouter un nom de classe à l'élément de formulaire

Avant d'implémenter la personnalisation du style de l'élément de formulaire, nous devons d'abord ajouter un nom de classe à l'élément de formulaire. En HTML, nous pouvons utiliser l'attribut class pour ajouter un ou plusieurs noms de classe à un élément, par exemple :

<input type="text" class="my-input">
Copier après la connexion

En CSS, nous pouvons utiliser le sélecteur de classe pour sélectionner un certain nom de classe, par exemple :

.my-input {
  width: 200px;
  height: 30px;
  border: 1px solid #ccc;
}
Copier après la connexion

Dans ce De cette façon, vous pouvez maintenant définir certains styles de base pour les éléments du formulaire.

  1. Ajouter des états aux éléments de formulaire

En plus des styles de base, les éléments de formulaire ont également des états spéciaux qui doivent être traités, tels que : focus, flou, survol de la souris, etc. Afin d'implémenter ces styles, nous devons utiliser JavaScript pour manipuler l'état des éléments du formulaire.

const myInput = document.querySelector('.my-input');

myInput.addEventListener('focus', function() {
  // 当元素聚焦时需要执行的操作
  myInput.style.border = "1px solid blue";
});

myInput.addEventListener('blur', function() {
  // 当元素失焦时需要执行的操作
  myInput.style.border = "1px solid #ccc";
});

myInput.addEventListener('mouseenter', function() {
  // 当鼠标经过元素时需要执行的操作
  myInput.style.backgroundColor = "#f5f5f5";
});

myInput.addEventListener('mouseleave', function() {
  // 当鼠标离开元素时需要执行的操作
  myInput.style.backgroundColor = "#fff";
});
Copier après la connexion

De cette façon, nous pouvons ajouter des styles dans différents états aux éléments du formulaire.

  1. Réaliser des effets de liaison des éléments du formulaire

Dans le formulaire, il existe des effets de liaison entre certains éléments du formulaire, par exemple : les options de la zone de sélection déroulante dépendent des options de la zone de sélection déroulante précédente, etc. Pour obtenir cet effet de liaison, nous devons également utiliser JavaScript.

<select class="province">
  <option value="0">请选择省份</option>
  <option value="1">河北省</option>
  <option value="2">山东省</option>
  <option value="3">广东省</option>
</select>

<select class="city">
  <option value="0">请选择城市</option>
</select>
Copier après la connexion
const provinceSelect = document.querySelector('.province');
const citySelect = document.querySelector('.city');

provinceSelect.addEventListener('change', function() {
  const provinceId = provinceSelect.value;
  // 根据省份获取对应的城市列表
  const cityList = getCityList(provinceId);
  // 清空城市下拉列表的选项
  citySelect.innerHTML = '<option value="0">请选择城市</option>';
  // 动态添加城市选项
  cityList.forEach(function(city) {
    const option = document.createElement('option');
    option.value = city.id;
    option.textContent = city.name;
    citySelect.appendChild(option);
  });
});

function getCityList(provinceId) {
  // 根据省份id获取对应的城市列表
  // ...
  return cityList;
}
Copier après la connexion

De cette façon, nous pouvons obtenir l'effet de liaison entre les éléments du formulaire.

2. Implémentez la vérification des données et les invites sur le formulaire

En plus de la personnalisation du style, le formulaire nécessite également une vérification des données et des invites. Lorsque nous remplissons un formulaire, nous devons souvent fournir différentes invites basées sur différents scénarios. Par exemple : lorsque la zone de saisie est vide, nous devons indiquer qu'elle ne peut pas être vide, le contenu de la zone de saisie est incorrect. formats, etc Par conséquent, nous devons ajouter des fonctions de vérification des données et d'invite correspondantes au formulaire pendant le processus de développement.

  1. Utilisez des expressions régulières pour la vérification des données

Lors de la vérification des données du formulaire, nous devons généralement utiliser des expressions régulières pour la correspondance et la vérification. Par exemple : pour vérifier si le format du numéro de téléphone mobile est correct, vous pouvez utiliser le code suivant :

const phoneInput = document.querySelector('.phone-input');

phoneInput.addEventListener('blur', function() {
  const phone = phoneInput.value;
  if (!/^1d{10}$/.test(phone)) {
    alert('手机号码格式不正确');
  }
});
Copier après la connexion

Dans cet exemple, nous utilisons une expression régulière pour faire correspondre 11 chiffres commençant par 1. Si le format du numéro de téléphone mobile est incorrect, une boîte de dialogue apparaîtra pour vous inviter.

  1. Implémenter une vérification en temps réel et afficher des invites

En plus de la vérification des expressions régulières, nous pouvons également implémenter une vérification en temps réel et afficher des invites. Par exemple : pour définir que la zone de mot de passe doit contenir des lettres et des chiffres majuscules et minuscules, vous pouvez utiliser le code suivant :

<input type="password" class="password-input" placeholder="请输入密码">

<div class="password-tip">密码需要包含大小写字母和数字</div>
Copier après la connexion
.password-tip {
  color: red;
  display: none;
}
Copier après la connexion
const passwordInput = document.querySelector('.password-input');
const passwordTip = document.querySelector('.password-tip');

passwordInput.addEventListener('input', function() {
  const value = passwordInput.value;
  if (/d/.test(value) && /[a-z]/.test(value) && /[A-Z]/.test(value)) {
    passwordTip.style.display = 'none';
  } else {
    passwordTip.style.display = 'block';
  }
});
Copier après la connexion

Dans cet exemple, nous devons implémenter la vérification que le contenu saisi dans la zone de saisie doit contenir des lettres majuscules et minuscules. et des chiffres. Afin de réaliser cette fonction, nous avons ajouté un écouteur d'événement d'entrée à la zone de saisie. Lorsque l'utilisateur saisit du contenu dans la zone de saisie, il sera vérifié en temps réel et une invite s'affichera.

3. Résumé

Grâce à l'introduction de cet article, nous avons appris à utiliser JavaScript pour implémenter des styles et des invites personnalisés pour les formulaires. En termes de personnalisation des formulaires, l'utilisation de JavaScript peut nous offrir un espace de fonctionnement plus flexible et répondre à divers besoins commerciaux complexes. Par conséquent, avoir une compréhension approfondie de la personnalisation des formulaires JavaScript et son utilisation compétente est d’une grande importance pour notre travail de développement Web.

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!