2009-08-24 7 views
0

Voici le code qui woks parfaitement et valider pour entrer seulement les chiffres dans une boîte de texte. Maintenant, j'ai un problème là-bas. Mon problème est que je dois y entrer des valeurs décimales. J'ai donc besoin d'entrer 'DOT' dans la boîte à texte. Cette validation a été effectuée en utilisant des valeurs ASCII. J'utilise même la valeur ASCII de 'DOT -> 249, 250'. Mais ça ne marche pas. Toute aide serait appréciée.Besoin d'insérer un 'point' dans la zone de texte où la zone de texte est validée en utilisant javascript pour entrer uniquement les valeurs numériques

function enterNumerics(e) 
{   
    if (!e) var e = window.event; 

    if(!e.which) key = e.keyCode; 

    else key = e.which; 

    if((key>=48)&&(key<=57)||key==8||key==9||key==32||key==45 || key==43) 
    { 
      key=key; 
      document.getElementById('bal').innerHTML =''; 
      return true; 
    } 
    else 
    { 
     document.getElementById('bal').innerHTML = 
      "&nbsp;&nbsp;Please Enter Numerical Values "; 
     return false; 
    } 
} 

Merci à l'avance .....

Répondre

1

La clé dot est 46, il suffit de l'autoriser dans l'instruction if. Oh, vous obtenez un code clé, pas un code charCode, donc c'est sur keydown, pas sur keypress. Ignorez le point ci-dessus - le point est 190.

+0

merci nexus .. je suis entré dans le code à tort .. le code exact est 190. vous avez raison ... merci l'homme ... – Fero

2

Vous pouvez utiliser des expressions régulières au lieu:

function validate(){ 
    var val=document.getElementById("field").value; //Field value 
    if(/^[0-9\.]+$/.test(val)){  
     document.getElementById('bal').innerHTML='';  
     return true; 
    }else{  
     document.getElementById('bal').innerHTML=" Please Enter Numerical Values ";  
     return false; 
    } 
} 

vous appelez la fonction de validation avec l'événement onKeyPress

+0

merci pour votre soutien mck89 – Fero

0

En utilisant une entrée masquée résout le problème et améliore la solution. Il existe un jQuery-Plugin disponible qui peut le faire.

+0

Je dois dire que les entrées masquées confondent toujours les gens. C'est une idée géniale, c'est juste que la plupart des gens sont bloqués parce qu'ils sont habitués à libérer du texte. –

0

Le code ascii pour le point (.) Est 249 selon le ascii table donc j'espère que le code d'erreur peut ne pas représenter la valeur ASCII.

Questions connexes