Подтвердить что ты не робот

Как переопределить (отключить) поведение "отправить" тега кнопки внутри тега формы?

<form action="">
  <button>click</button>
</form>`

Поведение кнопки в форме по умолчанию - это отправить эту форму.

Как отключить поведение отправки этой кнопки?

4b9b3361

Ответ 1

Добавьте type="button" к нему:

<button type="button">Click</button>

Доступны следующие типы:

  • "submit": значение по умолчанию. Отправляет форму.
  • "reset": Сбрасывает входы формы.
  • "button": ничего не делает.

Хорошая ссылка: https://developer.mozilla.org/en/DOM/HTMLButtonElement

Ответ 2

Это отключит использование javascript

<button onclick='return false'>click</button>

Но вы можете просто определить тип

<button type='button'>click</button>

Ответ 3

Есть случаи, когда вы хотите сохранить тонкости кнопки submit (например, на мобильном устройстве, где кнопка submit может быть запущена с клавиатуры, но только если кнопка является частью формы и типа submit). В этом случае то, что вам нужно сделать, это предотвратить действие кнопки по умолчанию.

Использование jQuery 1.7+ (используя .on - Я настоятельно рекомендую прочитать документацию - существует много нюансов использования .on, которые могут значительно влияют на производительность)

$(document).on("click", "button", "event", function(evt) {
    evt.preventDefault();
    ...
}

Использование старых версий jQuery...

$("#button-id").bind("click", function(evt, ui) {
    evt.preventDefault();
    ...
}

Обратите внимание, что вы можете использовать любой селектор (выберите по классу, типу элемента и т.д.) или метод привязки к событию (вместо .bind, используйте .live, .delegate как соответствующий вашей версии jquery.