Действия на странице, такие как удаление чего-либо или изменение статуса - используйте ссылку или кнопку формы? - PullRequest
2 голосов
/ 28 октября 2011

У меня есть несколько страниц, которые позволяют мне изменять статус вещей (например, изменение статуса листинга или удаление пользователя), и мне было интересно: мне использовать ссылку или создать кнопки формы для этих действий? (без JavaScript)

Каковы плюсы и минусы каждой реализации? Мне кажется, что ссылку легче кодировать, но кнопки формы кажутся более безопасными.

Что ты думаешь?

Ответы [ 2 ]

3 голосов
/ 28 октября 2011

Не идемпотентные операции, такие как создание, обновление и удаление, должны выполняться с помощью POST. Таким образом, без JavaScript, форма должна использоваться с кнопкой отправки. Это по крайней мере предупреждает пользователя, если он обновляет страницу после удаления, что действие будет повторно отправлено.

Полезным шаблоном, позволяющим пользователю обновить страницу после публикации и не рисковать повторной отправкой, является шаблон перенаправления после публикации, также известный как post-redirect-get . Это гарантирует, что обновление возможно, и заставит браузер «забыть» о записи в его истории, позволяя пользователю вернуться без повторной отправки удаления.

1 голос
/ 28 октября 2011

хорошо, с помощью css вы можете сделать кнопки похожими на ссылки, а ссылки похожими на кнопки, так что это в основном вопрос внешнего вида.Лично я пытаюсь использовать ссылки, чтобы указать движение (на другую страницу, на другую часть страницы, всплывающую страницу и т. Д.) И кнопки для действий (обновления, удаления, «купить» и т. Д.)

...