Переопределить ввод для внутренних полей формы

#javascript #html #forms

Вопрос:

Я пытаюсь переопределить то, что происходит, когда пользователь нажимает enter во внутреннем поле формы. Я не хочу отключать ввод. Я хочу показать специальное всплывающее окно (режим начальной загрузки) и предотвратить отправку формы, когда пользователь обновляет значение, нажав enter в поле ввода. Я также по-прежнему хочу enter key попытаться отправить форму, когда пользователь нажимает ее вне фокуса поля ввода. Как мне это сделать?

Кроме того, что именно это делает action="javascript: ; Разве у него не должно быть имени функции? Формат-ftl.

 <form id="tsp_form" class="form-vertical" autocomplete="off" action="javascript:;">

             <div class="step2">
                   <p class="title"><@spring.message "test.step2" /></p>
                   <div class="provider">
                          <div class="hideme" id="edit_provider">
                            <div style="display:inline;">
                              <input type="text" id="input_field" name="input_field" maxlength="16" value="${(tspProvider!'')?html}" style="display:inline;width:200px;margin-right:5px;" class="form-control"  />
                                                <input type="hidden" id="input_field" value="${(tspProvider!'')?html}" />
                                                <button id="edit_provider_submit" type=button class="btn btn-primary lineBtn" style="vertical-align: top;" role="button"><@spring.message "pac.save" /></button>
                                                <button id="edit_provider_cancel" type=button class="btn btn-default cancel lineBtn" style="vertical-align: top;" role="button"><@spring.message "pac.cancel" /></button>
                                            </div>
                                        </div>
                                    </div>
</form>
 

Ответ №1:

 <input ... onkeydown="return event.key != 'Enter';"> 
 

или с помощью jQuery

 $('tsp_form:not([type="submit"])').keydown(function(e) {
if (e.keyCode == 13) {
    e.preventDefault();
    return false;
}});