Отключить форму auto submit on нажмите кнопку
У меня есть 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"
по умолчанию (as указано в рекомендации HTML).
это не трудно сделать то, что вы хотите. Вы можете просто попробовать использовать возвращает 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" / Button type=" button " не отправит вашу форму, и вы можете использовать их без каких-либо проблем.
<button>
на самом деле это кнопки отправки, у них нет других основных функций. Вам нужно будет установить тип на кнопку.
Но если вы привязываете обработчик событий, как показано ниже, вы нацеливаете все кнопки и не должны делать это вручную для каждой кнопки!
$('form button').on("click",function(e){
e.preventDefault();
});
Если вы хотите добавить непосредственно к входу в качестве атрибута, используйте этот
onclick="return false;"
<input id = "btnPlay" type="button" onclick="return false;" value="play" />
это предотвратит поведение отправки формы