1 форма и 2 submit без JS

Когда-то давно я приводил пример реализации 1 формы и 2 submit`ов к ней. «Старая» реализация была сделана на JS и удачно работает по сей день, но с приходом HTML5 стало как-то неправильным НЕ пользоваться его возможностями.

Сегодня использовать HTML5 уже можно в полной мере и бояться тут нечего.

Ложка дёгтя

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

Мне кажется, что стоит идти в ногу со временем, чем постоянно оглядываться назад и стараться понравиться всем, лично тормозя весь web-прогресс. Возможно, благодаря Вам некоторые посетители обновят свои старые IE7. Всегда приятно быть причастным к чему-то большому и значимому.

Ложка мёда

Никто не будет спорить, что с приходом HTML5 стало намного проще делать некоторые, обыденные вещи. К примеру, мало кого удивишь css-свойством border-radius. Хотя несколько лет назад его заменяла png-картинка. Сейчас вряд ли встретишь человека, который бы до сих пор использовал для скругления углов блока картинки стараясь поддерживать нормальное отображение в IE версии 5.5. Если конечно же этого не требует жестокое ТЗ заказчика.

Точно также обстоит дело и с двумя сабмитами одной формы. Раньше, когда этого нельзя было сделать «стандартными» методами HTML, делали на JS или того хуже на jQuery. Такое решение занимало несколько килобайт, сейчас же можно обойтись несколькими байтами.

Реализация

Вот рабочий код:
<form method="post">
    <button type="submit" name="view" formaction="view.php">
        Предварительный просмотр
    </button>
    <input type="submit" name="create" formaction="create.php" value="Создать" />
</form>

button и input здесь приведены только в качестве примера и не обязательно их наличие обоих. То есть можно как button, button, так и input, input. Кстати, кнопок не обязательно должно быть 2 может быть больше.

Как уже можно догадаться за все отвечает параметр formaction. Раньше action был у тега form, сейчас его вынесли в кнопки с типом submit.

Теги:

Комментарии






Интересное
Важное событие IT
Создание Cisco
Создание Cisco
Узнать подробнее
Оглавление
  1. Ложка дёгтя
  2. Ложка мёда
  3. Реализация