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;
до конца .