Отключить автоматическую отправку формы при нажатии кнопки
У меня есть HTML-форма, где я использую несколько кнопок. Проблема в том, что независимо от того, какую кнопку я нажимаю, форма будет отправлена, даже если кнопка не имеет типа "отправить". например, такие кнопки, как:<button>Click to do something</button>
, результат в форме представления.
Это довольно больно делать e.preventDefault()
для каждой из этих кнопок.
Я использую jQuery и jQuery UI и сайт находится в HTML5.
есть ли способ отключить это автоматическое поведение?
4 ответа:
кнопки типа
<button>Click to do something</button>
are кнопок.Set
type="button"
изменить.type="submit"
по умолчанию (как указано в рекомендации HTML).
это не трудно сделать то, что вы хотите. Вы можете просто попробовать использовать return false (return false переопределяет поведение по умолчанию для каждого элемента DOM) вот так:
myform.onsubmit=function() { //do what you want; return false; }
а затем отправить форму с помощью myform.submit ()
или же :
mybutton.onclick=function () { //do what you want; return false; }
однако я думаю, что тип ввода= "кнопка"/тип кнопки=" кнопка " не отправит вашу форму, и вы можете использовать их без каких-либо проблем.
<button>
это на самом деле кнопки отправки, у них нет другой основной функциональности. Вам нужно будет установить тип кнопки.
Но если вы привязываете свой обработчик событий, как показано ниже, вы ориентируетесь на все кнопки и не должны делать это вручную для каждой кнопки!$('form button').on("click",function(e){ e.preventDefault(); });