2017-06-23 3 views
0

J'ai un bouton que je veux appuyer lorsque l'utilisateur appuie sur la touche del. J'ai ceci:Supprimer le bouton keyCode ne fonctionne pas

document.getElementById('result').onkeypress=function(e){ 
    //This works, when the user presses enter, submitbtn is clicked 
    if(e.keyCode==13){ 
     document.getElementById('submitbtn').click(); 
    } 

    //This doesn't, but it is the same as the code above 
    else if(e.keyCode==46){ 
     document.getElementById('clrbtn').click(); 
    } 
} 

Voici mon HTML:

<input id="result" type="number" min="0" placeholder="0"> 
<button id="submitbtn" onclick="submit()">Submit</button> 
<button id="clrbtn" onclick="clr()">Clear</button> 

J'ai essayé e.which et e.preventDefault() mais ni travail. J'ai regardé CTRL keyCode (17) not working in JavaScript? et j'ai vérifié pour voir s'il y avait un delKey, semblable à ctrlKey mais il n'y a pas. Comment est-ce que je peux faire la clef d'effacement, qui je suis certain est 46, travaille avec mon code? Y a-t-il de meilleures méthodes?
Merci d'avance!

+0

Votre syntaxe/logique semble droite - pouvez-vous poster votre code HTML? –

+0

êtes-vous sûr que ce n'est pas '8' – epascarello

+0

@epascarello 8 is backspace – Henry

Répondre

0

Votre formulaire soumet lorsque vous appuyez sur entrer, mais il n'a pas à faire quoi que ce soit avec votre code qui est la raison pour laquelle la clé de suppression ne fonctionne pas vous devez remplacer onkeypress avec onkeydown

+0

vérifier ce code stylo qu'il fonctionne après avoir fait ce changement http://jsbin.com/qovehexuxo/edit?html,js,output –

+0

L'entrée n'est pas dans une forme, et nécessite le code de clé pour travailler – Henry

+0

vérifier cette modification, j'ai supprimé le formulaire et il fonctionne toujours http://jsbin.com/qovehexuxo/edit?html,js,output –