Я ищу самый простой способ создать форму HTML, в которой нет кнопки отправки. Это само по себе достаточно просто, но мне также необходимо остановить форму, перезагружая себя, когда выполняются подобные вещи (например, нажатие Enter в текстовом поле).
Форма без каких-либо действий, и где ввод не перезагружает страницу
Ответ 1
Добавьте обработчик onsubmit в форму (через plain js или jquery $(). submit (fn)) и верните false, если не выполняются ваши конкретные условия.
Если вы не хотите, чтобы форма отправлялась, когда-либо - и в этом случае, почему бы просто не оставить атрибут "действие" в элементе формы?
Ответ 2
Вы хотите включить action="javascript:void(0);"
в свою форму, чтобы предотвратить перезагрузку страниц и поддерживать стандарт HTML.
Ответ 3
Просто добавьте это событие в текстовое поле. Это предотвратит отправку при нажатии Enter, и вы можете бесплатно добавить кнопку отправки или вызвать форму .submit():
onKeyPress="if (event.which == 13) return false;"
Например:
<input id="txt" type="text" onKeyPress="if (event.which == 13) return false;"></input>
Ответ 4
Когда вы нажимаете enter в форме, естественное поведение формы должно быть отправлено, чтобы остановить это поведение, которое не является естественным, вы должны помешать ему отправить (поведение по умолчанию) с помощью jquery:
$("#yourFormId").on("submit",function(event){event.preventDefault()})
Ответ 5
идея:
<form method="POST" action="javascript:void(0);" onSubmit="CheckPassword()">
<input id="pwset" type="text" size="20" name='pwuser'><br><br>
<button type="button" onclick="CheckPassword()">Next</button>
</form>
и
<script type="text/javascript">
$("#pwset").focus();
function CheckPassword()
{
inputtxt = $("#pwset").val();
//and now your code
$("#div1").load("next.php #div2");
return false;
}
</script>
Ответ 6
Два способа решения:
- Значение формы формы - "javascript: void (0);".
- добавить прослушиватель событий нажатия клавиш для формы, чтобы предотвратить отправку.
Ответ 7
Первый ответ - лучшее решение:
Добавьте обработчик onsubmit в форму (либо через plain js или jquery $(). submit (fn)) и вернуть false, если только ваши конкретные условия не являются встретились.
Более конкретно с jquery:
$('#your-form-id').submit(function(){return false;});
Если вы не хотите, чтобы форма отправлялась, когда-либо - и в этом случае, почему не просто оставить атрибут "действие" в элементе формы?
Написание расширений Chrome - пример того, где у вас может быть форма для ввода пользователем, но вы не хотите, чтобы она отправлялась. Если вы используете action = "javascript: void (0);", код, вероятно, будет работать, но в итоге вы получите эту проблему, где вы получите сообщение об ошибке при запуске inline Javascript.
Если вы полностью исключите действие, форма будет перезагружаться, что также нежелательно в некоторых случаях при написании расширения Chrome. Или если у вас есть веб-страница с каким-то встроенным калькулятором, где пользователь предоставит некоторый ввод и нажмите "Рассчитать" или что-то в этом роде.