2010-12-11 7 views
0

J'ai une fonction javascript qui est appliquée à une zone de texte onkeyup de sorte que lorsqu'un utilisateur met une date au format jj/mm/aaaa, il met dans les barres obliques. Il arrête également l'utilisateur dépassant dix caractères. Toutefois, lorsque l'utilisateur utilise le bouton de retour arrière, pendant que les numéros sont supprimés, sauf si vous maintenez le bouton enfoncé, je ne peux pas obtenir le bouton retour arrière pour revenir au-delà des barres obliques.JavaScript Fonction problème avec le bouton Retour arrière

Voici mon code, et je l'ai souligné en gras le bit qui ne fonctionne pas:

DateInputUpdate (entrée) Fonction

{
if (input.value.length == 2 || input.value. longueur == 5) input.value = input.value + dateSep;

if (input.value.length > dateFormat.length) { 
    input.value = input.value.substring(0, dateFormat.length); 

    if (event.keyCode == 8) { 
    if (input.value.length == 3 || input.value.length == 6) { 
     input.value = input.value.substring(input.value.length, input.value.length - 1); 
    } 
    } 
} 

}

Quelqu'un peut-il s'il vous plaît me conseiller ce que je dois faire ou changer? Je ne souhaite pas particulièrement supprimer les barres obliques, plus les ignorer ou les ignorer c'est ma solution idéale.

Merci

Répondre

0

En raison d'un manque } vous vérifiez que pour keyCode == 8 si la longueur de l'entrée était supérieure à la longueur de dateFormat.

Vous ajoutez également un / même si l'utilisateur a appuyé sur le retour arrière. Cela conduit à l'ambiguïté.

+1

Ok, merci. J'aurai une pièce de théâtre et je reviendrai vers vous. – Andy5

Questions connexes