Ответ 1
Кнопки отправки, например <button>Click to do something</button>
,.
Установите type="button"
, чтобы изменить это. type="submit"
по умолчанию (как указанный в рекомендации HTML).
У меня есть HTML-форма, где я использую несколько кнопок. Проблема в том, что независимо от того, какую кнопку я нажимаю, форма будет отправлена, даже если кнопка не относится к типу "отправить". например Кнопки типа: <button>Click to do something</button>
, приводят к отправке формы.
Очень сложно сделать e.preventDefault()
для каждой из этих кнопок.
Я использую jQuery и jQuery UI, а веб-сайт - в HTML5.
Есть ли способ отключить это автоматическое поведение?
Кнопки отправки, например <button>Click to do something</button>
,.
Установите type="button"
, чтобы изменить это. type="submit"
по умолчанию (как указанный в рекомендации HTML).
Нетрудно сделать то, что вы хотите. Вы можете просто попробовать использовать return false (вернуть false переопределяет поведение по умолчанию для каждого элемента DOM):
myform.onsubmit=function()
{
//do what you want;
return false;
}
а затем отправьте форму с помощью myform.submit()
или, альтернативно:
mybutton.onclick=function ()
{
//do what you want;
return false;
}
Однако я думаю, что Input type="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" />
это предотвратит поведение представления формы