<input type="text" onkeyup="forcePositif(this)" onchange="forcePositif(this)">function forcePositif(champ) {
champ.value = Math.abs(parseInt(champ.value) || 0);
}
Ensuite pour une vérification dans le onsubmit :<form onsubmit="return pasNegatif(this.elements['monChamp'])">
<input type="text" name="monChamp">
<input type="submit">
</form>function pasNegatif(champ) {
if (champ.value != parseInt(champ.value) || champ.value < 0) {
alert("Vous devez entrer un nombre positif dans le champ "+champ.name);
return false;
}
return true;
}
La deuxième vérification est inutile si tu as choisi la première. Puisque soit l'utilisateur désactive javascript et il met ce qu'il veut (aucune vérification ni dans un cas ni dans l'autre), soit il l'active et il ne pourra pas mettre autre chose qu'un nombre négatif dans le champ.
function forcePositif(champ) {
champ.value = Math.abs(parseInt(champ.value) || 0);
}
Le nom de la fonction qui dois utiliser un champs : function forcePositif(champ) {
Code : Tout sélectionner
Si lireEntier(X) est un nombre :
ValeurAbsolue(lireEntier(X)).
Sinon :
ChaineVide.Code : Tout sélectionner
!isNaN(parseInt(X)) ? Math.abs(parseInt(X)) : ''champ.value = !isNaN(parseInt(champ.value)) ? Math.abs(parseInt(champ.value)) : '';