HTMLInputElement : propriété valueAsNumber
Baseline
Large disponibilité
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La propriété valueAsNumber de l'interface HTMLInputElement représente la valeur actuelle de l'élément HTML <input> sous forme de nombre ou NaN si la conversion en valeur numérique est impossible.
Cette propriété peut également être définie directement, par exemple pour définir une valeur numérique par défaut en fonction d'une condition.
Valeur
Un nombre qui représente la valeur de l'élément ou NaN si la conversion en valeur numérique est impossible.
Exemples
>Récupérer une valeur numérique
Dans cet exemple, le journal affiche la valeur actuelle de l'entrée number lorsqu'elle est modifiée.
HTML
Nous incluons un <input> de type number et un <label> associé, avec un conteneur <pre> pour notre sortie.
<label for="number">Choisissez un nombre entre 1 et 10 :</label>
<input name="number" id="number" min="1" max="10" type="number" />
<pre id="log"></pre>
JavaScript
Le contenu de l'élément <pre> est mis à jour avec la valeur actuelle de l'élément <input> à chaque fois qu'un évènement change est déclenché.
const logElement = document.getElementById("log");
const inputElement = document.getElementById("number");
inputElement.addEventListener("change", () => {
logElement.innerText = `Nombre : ${inputElement.valueAsNumber}`;
});
Résultats
Si vous supprimez le nombre dans le composant, le résultat est NaN.
Récupérer une valeur de date en tant que nombre
Cet exemple montre la propriété valueAsNumber d'un <input> de type datetime-local.
HTML
Nous incluons un <input> de type datetime-local :
<label for="date">Choisissez une date et une heure :</label>
<input name="date" id="date" type="datetime-local" />
<pre id="log"></pre>
JavaScript
Lorsqu'aucune date ni heure n'est sélectionnée, la chaîne de caractères vide est convertie en NaN. À chaque sélection, un évènement change est déclenché, mettant à jour le contenu du <pre> qui affiche la HTMLInputElement.value du contrôle de formulaire comparée à cette valeur en tant que nombre.
const logElement = document.getElementById("log");
const inputElement = document.getElementById("date");
logElement.innerText = `Valeur initiale : ${inputElement.valueAsNumber}`;
inputElement.addEventListener("change", () => {
const d = new Date(inputElement.valueAsNumber);
logElement.innerText = `${inputElement.value} se résout en ${inputElement.valueAsNumber}, \nce qui correspond à ${d.toDateString()} à ${d.toTimeString()}`;
});
Résultats
Spécifications
| Spécification |
|---|
| HTML> # dom-input-valueasnumber-dev> |
Compatibilité des navigateurs
Voir aussi
- L'élément HTML
<input> - La propriété
HTMLInputElement.value - La propriété
HTMLInputElement.valueAsDate