#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;
}});