HTML почему кнопки в формах отправляют данные?
onclick и нет jQuery .click() кнопка просто ничего не делать.  Идеальный.  Но когда я это делаю, а кнопка внутри <form> элемент, он пытается отправить получить данные всех элементов формы на корневой адрес моего сайта?  Зачем он это делает?  Я не сделал это кнопкой отправки или даже не определил method или action на что форма??
Спасибо за информацию заранее!
* * EDIT**
это то, что я сделал, чтобы исправить проблему.  Для кнопок внутри <form> использовать:
<button type="button"></button>
и он ничего не будет делать по умолчанию.
4 ответов
как видно на соответствующем MDN ввода, значение по умолчанию для type свойство элемента button -submit. Поэтому, если вы опустите его или не измените его на button или reset, поведение по умолчанию будет срабатывать, и форма будет отправлена.
<form action="">
  <button type="button">Nothing will happen</button>
  <button>Form gets submitted</button>
</form>
Он был разработан таким образом, потому что вы иногда нужно знать, какая кнопка была нажата на стороне сервера. Если вы хотите функциональность кнопки без кнопки, используйте стилизованный a-тег.
кнопки рассматриваются как элементы управления submit в формах, не знаю почему.
причина, по которой он отправляется в ваш корень, заключается в том, что вы не указали action и поэтому используется значение по умолчанию.
Почему раньше это сделать потому, что по умолчанию method.
чтобы предотвратить это, добавьте return false; до конца .