@ Ник Крейвер, позорный ответ по нескольким причинам. Ответь на вопрос или хотя бы задумайся.
Вот решение на основе прототипа, которое я в конечном итоге использовал для своих форм, потому что пользователи жаловались, что backspace уберет их из формы (что, очевидно, так нелогично, возникает вопрос, почему все браузеры используют клавишу backspace для возврата кнопка).
// event handlers must be attached after the DOM is completely loaded
Event.observe(window, 'load', function() {
// keypress won't fire for backspace so we observe 'keydown'
Event.observe(window, 'keydown', function(event){
// 8 == backspace
if( event.keyCode == 8) {
// with no field focused, the target will be HTMLBodyElement
if( event.target == document.body) {
// stop this event from propagating further which prevents
// the browser from doing the 'back' action
event.stop();
}
}
});
});