Ответное попадание в форме pagerefresh не может быть заблокировано

Я пытаюсь предотвратить обновление моей страницы после того, как я нажал кнопку возврата в моем текстовом поле:

<input onkeyup="keyPressCodetitle(event, false, false, 0, 6, 20);" class="form_field" id="codeTitle" type="text" name="codename">

Но почему-то функция keyPressCodetitle не помешает этому даже с (насколько мне известно) необходимыми требованиями, чтобы не допустить обновления страницы. (Тем не менее, в операторе if отображаются предупреждения и т. Д. Соответственно, функция и если работают правильно)

Возможно, я что-то упустил?

function keyPressCodetitle (e, caseBoolean, isFragment, generalCode, sourceId, projectId, method) {
    //Get the key entered via onpress(Which for firefox)
    var keycode = (e.keyCode ? e.keyCode : e.which);
    if(keycode == '13'){
        e.preventDefault();
        //Functioncall here
    } else {
        //other function here when not pressing return  
    }
    return false;
}

Заранее спасибо,

1 ответ

Дело не в том, что "[Return] обновляет страницу"; Дело в том, что некоторые (многие?) Браузеры по умолчанию воспринимают [Return] в текстовых вводах как знак формы submit-ion.

И это, кажется, происходит при нажатии клавиши вниз, поэтому предотвращать это при нажатии клавиши вверх слишком поздно.

Добавить дополнительного слушателя onkeydown может помочь:

<input onkeydown="preventSubmit(event);" onkeyup="keyPressCodeTitle(event);" />

JSFiddle demo

Другие вопросы по тегам