Предполагая HTML:
<form id="myForm"> ...
Вы можете сделать это с помощью JavaScript:
document.getElementById("myForm").onsubmit = function () {
return false;
};
Если вы хотите полностью отключить отправку формы (однако мне интересно, почему весь элемент
находится там на первом месте), то вам нужно разрешить его submit
обработчик события return false
.
Итак, в основном:
<form onsubmit="return false;">
Вы можете добавить его, используя манипуляции с Javascript / DOM во время загрузки, как указали предыдущие респонденты.
Если вы только хотите отключить клавишу Enter для отправки формы, тогда вам нужно позволить его нажатию клавиши
обработчику событий возвращать false
, когда код клавиши совпадает с 13
(этот код поддерживает кроссбраузерность!).
<form onkeypress="return event.keyCode != 13;">
Это, однако, также отключает клавишу Enter в любых элементах
в форме. Если у вас есть какие-либо из них, и вы хотите, чтобы они работали, вам необходимо удалить onkeypress
из
и скопировать его на все < input>
и
элементы. jQuery может быть полезным в этом:
$('input, select').keypress(function(event) { return event.keyCode != 13; });
Скажем, у вас есть форма с идентификатором "myForm":
<form id="myForm" action="some_file" method="post">
...
</form>
<script type="text/javascript">
document.getElementById( "myForm").onsubmit = function() {
return false;
};
//or with jQuery: $( '#myForm' ).submit( function() { return false; } );
</script>
Если вы не хотите редактировать событие onsubmit формы, вы можете сделать это следующим образом.
Добавьте это в текстовый ввод:
onKeyPress="return noEnter(event)"
И это в заголовок:
function noEnter(e) { var key; // firefox vs. ie (window.event) ? key = window.event.keyCode : key = e.which; (key == 13) ? return false : return true; }
проще сделать с помощью jquery.
Вместо реализации двух методов отключения отправки формы добавьте обработчик событий в onsubmit формы, который будет проверять свойство disabled
кнопки:
myForm.onsubmit = function () {
if (myForm.mySubmit.disabled)
return false;
}
document.getElementById("myForm").onsubmit = function () {
return false;
};
Эти коды не работают в Chrome и Safari. Он отправляет форму к действию url.
Но полезен.