何かを削除する、ステータスを変更するなどのページアクション - リンクまたはフォームボタンを使用しますか?

私は物事の状態を変える(リストの状態を変える、またはユーザーを削除するなどの)ページをいくつか持っていて、私はリンクを使うべきか、フォームのボタンを作成するべきか疑問に思いましたか? (JavaScriptなし)

各実装の長所と短所は何ですか?リンクはコードが簡単ですが、フォームボタンはより安全と思われます。

どう思いますか?

2
+1、通常はGETリクエスト用のリンク、POSTリクエスト用のボタンです。私はちょうどクイック検索を行いました、そして、POSTを行うためにリンクを使用する様々な方法を与える他の質問がここにあります。
追加された 著者 Frank Hale,

2 答え

作成、更新、削除などの非冪等の操作は、POSTで行われることになっています。したがって、JavaScriptを使用しない場合は、送信ボタンとともにフォームを使用する必要があります。これは少なくとも、削除後のページをリフレッシュする場合、アクションが再送信されることをユーザーに警告します。

便利なパターンは、ユーザーが投稿後にページをリフレッシュさせ、再送信を危険にさらさないようにするために、ポストリダイレクト - 取得。これにより、リフレッシュが可能になり、ブラウザは自分の履歴内の投稿を「忘れる」ようになり、ユーザーは削除を再送信せずに元に戻ることができます。

3
追加された

あなたはボタンをリンクのように見せたり、リンクをボタンのように見せたりすることができます。だから、それは主に外観の問題です。 個人的には、リンクを使用して(他のページ、ページの他の部分、ポップアップページなどへ)、アクション(更新、削除、購入など)のためのボタンを表示しようとします。

1
追加された