Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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.

html
<label for="number">Choisissez un nombre entre 1 et 10&nbsp;:</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é.

js
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 :

html
<label for="date">Choisissez une date et une heure&nbsp;:</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.

js
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