2010-09-01 7 views

Répondre

7

déclarer une fonction qui sera appelée quand une touche est pressée:

function onkeypressed(evt, input) { 
    var code = evt.charCode || evt.keyCode; 
    if (code == 27) { 
     input.value = ''; 
    } 
} 

Et t il balisage correspondant:

<input type="text" id="search" size="25" autocomplete="off" 
     onkeydown="onkeypressed(event, this);" /> 
+0

Cela fonctionne parfaitement, je vous remercie beaucoup pour votre aide Darin - je l'apprécie vraiment :) – jprim

+0

Darin - si vous aussi me aider avec celui-ci: http://stackoverflow.com/questions/3615351/styling-highlighted -text-in-incremental-search-js Ce serait génial! – jprim

+0

Darin: pour l'événement keydown, c'est toujours 'keyCode'. Tous les principaux navigateurs ont 'keyCode', il n'est donc pas nécessaire de vérifier' charCode', qui est zéro ou indéfini dans tous les navigateurs actuels. –

1
function keyPressed(evt) { 
if (evt.keyCode == 27) { 
    //clear your textbox content here... 
    document.getElementById("search").value = ''; 
} 
} 

Ensuite, dans votre balise d'entrée ...

<input type="text" onkeypress="keyPressed(event)" id="search" ...> 
+1

Ne fonctionne pas sur Chrome/Safari. –

+0

Merci pour votre aide Mamoo! – jprim

+0

@Darin: merci pour l'avoir signalé :) – mamoo

5
<input type="text" value="" onkeyup="if (event.keyCode == 27) this.value=''" /> 

Cela devrait fonctionner.

+0

Merci pour votre aide heb! – jprim

Questions connexes