Используя несколько форм или несколько кнопок отправки, какая разница? - PullRequest
0 голосов
/ 25 августа 2011

В принципе, какие плюсы / минусы есть в использовании нескольких форм на одной веб-странице по сравнению с одной формой с несколькими кнопками отправки?Любая разница в?

Ответы [ 3 ]

2 голосов
/ 25 августа 2011

А?Несколько кнопок отправки в одной форме будут отправлять всю форму при нажатии ... на самом деле нет смысла иметь несколько, если вы не переопределяете, как работает процесс отправки, поэтому каждая кнопка отправляет только свою область.В этом случае они, вероятно, были бы даже не кнопками отправки, а просто кнопками с суммой JS-кода для обработки отправки.

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

Ни один из этих подходов не особенно хорош с точки зрения пользовательского интерфейса, поскольку он может сбить с толку.

Реальный вопрос в том, что вы пытаетесь сделать, что побуждает вас спросить это?

1 голос
/ 25 августа 2011

Они ведут себя по-разному, и есть веские причины для выбора одного над другим.

  • Несколько форм на странице позволяют отправлять данные двум различнымместах.Типичным примером является форма ввода в качестве основного фокуса страницы, идущей в одно место, и форма поиска, которая появляется как часть общего верхнего / нижнего колонтитула.Они оба идут в разные места и отправляют только элементы HTML-формы в пределах их соответствующих <form/>

  • Несколько кнопок отправки предлагают вам возможность назначать различные целипредставлен набор элементов формы.Например, одна форма может иметь несколько кнопок отправки, все с атрибутами имени, что означает, что вы можете добавить условную логику на стороне сервера, чтобы сказать: «Продолжить», перейти «Назад» или даже «Сохранить на потом».Все ссылки относятся только к элементам формы в его родительском теге.

Два примечания: 1) Вы не можете вкладывать формы.2) JavaScript может изменить это поведение по умолчанию, если вы этого хотите.:)

Редактировать: со ссылкой на комментарий, который вы сделали, если вы хотите обойтись без JavaScript (мудрый выбор, когда он не нужен), вы можете немного подумать и сохранить POST форма для себя.Каждый раз проверяя, какая кнопка формы была нажата (верхний совет, присвойте им одно и то же имя, и вы можете просто набрать 1023 *), и сделайте все, что вам нужно сделать, включая выполнение проверки.Например, когда они нажимают кнопку «добавить мультимедиа», вы сохраняете загруженный мультимедиа и возвращаете ссылку на него в качестве скрытого ввода.Затем пользователь может продолжить добавлять вещи в другие поля и, когда все будет готово, нажать кнопку «Сохранить», после чего вы выполните всю основную работу по сохранению и убедитесь, что вы также привязали к нему загруженный файл.Вы фактически продолжаете добавлять материалы на их экран, пока они не достигнут сохранения, а затем вы выполняете метод сохранения и перенаправляете на страницу благодарности (или любую другую логику, подходящую вашему сценарию).:)

0 голосов
/ 25 августа 2011

Все поля формы отправляются при нажатии одной из кнопок отправки.Вам нужно узнать, нужны ли вам все поля или нет.

...