Bonjour,
Je cherche a désactiver le retour à la page précédente associé à BACKSPACE dans certains browsers… Je voudrais simplement utiliser cette touche… pour effacer un caractère hors formulaire
Des idées?
Merci
Bonjour,
Je cherche a désactiver le retour à la page précédente associé à BACKSPACE dans certains browsers… Je voudrais simplement utiliser cette touche… pour effacer un caractère hors formulaire
Des idées?
Merci
change le liens comme le suit:
<script>document.location="formulaire2.php"</script>
dans ce cas meme s’il revient en arriere il va se redireger automatiquement de nouveau vers formulaire.php
Merci pour ta réponse, malheureusement, je ne cherche pas à empêcher l’utilisateur de revenir en arrière
Mon but est de réaliser une saisie hors formulaire (i.e. pas dans un input), et la touche backspace est bien trop intuitive ;). Je risque de perdre l’état de ma page courante (Je ne sais pas ce que deviennent les appels par setTimeout)
function gereClavier() {
var touche;
if(window.event) {
touche = window.event.keyCode;
} else {
touche = arguments[0].keyCode;
}
if(touche == 8) {}
}
document.onkeydown = gereClavier;
PS : pas sûr que ça fonctionne.
Y a pas une Key pour ça plutôt que 8 ?
J’en sais rien :neutre:
Event.KEY_BACKSPACE.
Mais comme j’ai vu plein de confusion Java/Javascript je sais pas si ça fonctionnera.
Et faut aussi faire gaffe que ça doit être que Fx/Opera, IE gérant ça d’une autre façon (donc le 8 dans les deux cas c’est à surtester)
Merci à tous, je vais essayer ça ce soir, je teste IE7/FF2/O9
Ma seule autre alternative est l’usage d’un input invisible, mais cela m’oblige à forcer le focus sur le champ pour toute action de l’utilisateur (lourd )
Je sais que ce n’est plus d’actualité, mais étant à la recherche de solution moi-même, je poste ici ce que j’ai trouvé et qui marche très bien!
VK_BSPACE = 8;
VK_F5 = 116;
function isFromEdit(e) {
if (window.event) e = window.event;
var target = e.target ? e.target : e.srcElement;
return ((target.tagName=="INPUT" && (target.type == "text" || target.type == "password")) || target.tagName=="TEXTAREA");
}
function blocBadTouche(e) {
if (window.event) e = window.event;
var touche = window.event ? e.keyCode : e.which;
var target = e.target ? e.target : e.srcElement;
if ((touche == VK_BSPACE && !isFromEdit(e)) || touche == VK_F5 ) {
if (e.keyCode) e.keyCode=0;
return false;
}
return true;
}
-- Dans la balise BODY :
<body onkeydown="return blocBadTouche(event)" ....
Cela permet de bloquer le retour arrière avec backspace sans bloquer sa fonction d’effacement dans un INPUT, et cela bloque aussi le F5.
Edité le 05/11/2008 à 11:35