xandeadx.ru Блог музицирующего веб-девелопера

Drupal → Отличие submit от button

Опубликовано в

В Form API есть три вида кнопок — submit, button и image_button.

Разница между этими тремя кнопками только в одном — в дефолтном значении опции #executes_submit_callback, которое указывает, нужно ли выполнять submit callback после отправки формы или нет. У submit и image_button #executes_submit_callback = TRUE, у button #executes_submit_callback = FALSE.

Т.е.:
submit и image_button — валидируют форму, выполняют submit callback формы или кнопки, делают редирект.
button — валидирует форму, перестраивает форму. Submit callback ни формы, ни кнопки не выполняется.

Тип button нужен там, где нужно перестроить форму, но при этом не нужно выполнять submit callback. Например для добавления новых элементов или других манипуляций с формой.

Написанное актуально для Drupal 6, Drupal 7
Похожие записи

Комментарии RSS

Неправда, еще html-код этих кнопок разный:)

одинаковый. все кнопки выводятся через theme_input()

Я это имел в виду:
http://htmlbook.ru/html/input/type

у всех type="submit"

В 7 theme_input() нет

theme_button()

https://api.drupal.org/api/drupal/includes!form.inc/function/theme_image_button/7

Если в coomerce сделать всё в , то в корзине кнопка перехода к заказу очищает корзину :)

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании