Calcule la similarit de deux chaînes
Ce tutoriel comprend la définition de l'attribut oninput, sa syntaxe, des exemples pratiques d'utilisation, ainsi que des conseils et astuces pour son utilisation
L'attribut oninput est utilisé pour définir une action qui sera déclenchée lorsque la valeur d'un élément de formulaire change. Cet attribut est principalement utilisé avec les éléments de saisie tels que les champs de texte (<input type="text">), les zones de texte (<textarea>), et les éléments de type range (<input type="range">).
La syntaxe de base de l'attribut oninput est la suivante :
<element oninput="maFonction()">
où maFonction() est la fonction JavaScript que vous souhaitez exécuter lorsque la valeur de l'élément change.
Voici quelques exemples pratiques d'utilisation de l'attribut oninput:
Ce code est un exemple simple d'utilisation de l'attribut `oninput` pour déclencher une fonction JavaScript lorsqu'un utilisateur saisit du texte dans un champ de texte. Il met également à jour le contenu d'un élément HTML avec le texte saisi. Voici le code commenté :
Exemple : Copier le code
<!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Example: oninput Function</title> </head> <body> <p>Écrivez quelque chose dans le champ de texte pour déclencher une fonction.</p> <!-- Champ de texte avec l'attribut oninput --> <input type="text" id="myInput" oninput="maFonction()"> <!-- Paragraphe où le résultat sera affiché --> <p id="demo"></p> <!-- Script JavaScript --> <script> // Fonction appelée lors de la saisie dans le champ de texte function maFonction() { // Récupérer la valeur du champ de texte let x = document.getElementById("myInput").value; // Mettre à jour le contenu de l'élément avec l'ID "demo" document.getElementById("demo").innerHTML = "Vous avez écrit: " + x; } </script> </body> </html>
Lorsque vous ouvrez ce code dans un navigateur, un champ de texte s'affiche, et lorsque vous saisissez du texte, la fonction `myFunction` est déclenchée, et le paragraphe avec l'ID "demo" est mis à jour pour afficher "Vous avez écrit: " suivi du texte saisi. C'est un excellent exemple pour comprendre le fonctionnement de l'attribut `oninput` en action.
Ce code utilise l'attribut oninput pour appeler la fonction ajusterTaille dès qu'il y a une saisie dans la zone de texte. La fonction ajusterTaille ajuste ensuite la hauteur de la zone de texte en fonction de son contenu, en utilisant la propriété scrollHeight. Voici le code commenté :
Exemple : Copier le code
<!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Example: Auto-Adjust Textarea Height</title> <style> /* Styling pour rendre la zone de texte plus visible */ textarea { width: 300px; resize: none; /* Désactiver le redimensionnement manuel */ overflow-y: hidden; /* Cacher la barre de défilement verticale */ } </style> </head> <body> <!-- Zone de texte avec l'attribut oninput --> <textarea oninput="ajusterTaille(this)"></textarea> <!-- Script JavaScript --> <script> // Fonction appelée lors de la saisie dans la zone de texte function ajusterTaille(element) { // Ajuster la hauteur en fonction du contenu (scrollHeight) element.style.height = (element.scrollHeight) + "px"; } </script> </body> </html>
Dans cet exemple, la zone de texte a une largeur fixe de 300 pixels, et le redimensionnement manuel est désactivé. La fonction ajusterTaille est appelée à chaque fois qu'il y a une saisie dans la zone de texte, et elle ajuste la hauteur de la zone de texte en fonction de la hauteur du contenu (utilisant scrollHeight). Cela permet à la zone de texte de s'ajuster dynamiquement à mesure que l'utilisateur saisit du texte.
Voici une version modifiée du code ci dessus
Exemple : Copier le code
<!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Example: Auto-Adjust Textarea Height</title> <style> /* Styling pour rendre la zone de texte plus visible */ textarea { width: 300px; resize: none; /* Désactiver le redimensionnement manuel */ overflow-y: hidden; /* Cacher la barre de défilement verticale */ } </style> </head> <body> <p> Tapez du texte, et qu'il soit très long pour constater l'effet </p> <!-- Zone de texte avec l'attribut oninput --> <textarea oninput="ajusterTaille(this)" onkeydown="ajusterTaille(this)"></textarea> <!-- Script JavaScript --> <script> // Fonction appelée lors de la saisie dans la zone de texte ou lors de l'appui sur une touche function ajusterTaille(element) { // Ajuster la hauteur en fonction de la hauteur totale moins la hauteur visible element.style.height = "auto"; // Réinitialiser d'abord la hauteur à "auto" element.style.height = (element.scrollHeight) + "px"; } </script> </body> </html>
Voici quelques conseils pour tirer le meilleur parti de l'attribut oninput:
L'attribut d'événement oninput est pris en charge dans tous les principaux navigateurs.