ユーザーが自分のコントロール パネルにログインすると、受信メッセージが表示されます。各メッセージの近くに「返信」ボタンがあります。そのボタンを実装する正しい方法は何ですか?
3 つの主なオプションがあります。
リンクを使用する:
<a href="customer.php?reply&messageid=1234">Reply</a>.
不利益:
- そのリンクをボタンのようにスタイルする必要があります。「返信」というアクションは、リンクではなくボタンで表す必要があると考えているためです (私の意見では、リンクは、何らかのリソースにリンクしている場合や、リンク テキストに名詞がある場合に使用する必要があります。また、アクションを実行したい場合は、キャプションに動詞 (アクション) を含める - ボタンを使用する必要があります)。
次のボタンを使用します。
<button onclick="location.href='customer.php?reply&messageid=1234'">Reply</button>`
不利益:
- ユーザーは JavaScript を有効にする必要があります。私たちの統計によると、ユーザーの 99.8% が JavaScript を有効にしていますが、そうでない場合、いずれにせよ、私たちの Web サイトで作業することは非常に困難です (JavaScript で実装された多くの機能があります)。したがって、実際のアクティブ ユーザーの 100% が JavaScript を有効にしていると思います。
次のフォームを使用し
<input type="submit">
ます。<form action="customer.php?reply" method="get"> <input name="messageid" type="hidden" value="1234" /> <input type="submit" value="Reply" /> </form>
不利益:
- ここでフォームを使用するのは「人工的」だと思います。ユーザーは何も入力しません。ボタンを機能させるためだけにフォームを使用します。また、何も変更せず、ユーザーに返信フォームを表示するだけでよい場合に POST リクエストを使用することは、REST の原則に違反していると思います。しかし、GET を使用しても、この場合、フォームを使用するのは人為的だと思います。
その他の注意事項:
- リンク内でボタンを使用しても、IE では機能しません。
- これは私たちのウェブサイトの非公開セクションであるため、検索エンジンはそれを見ることができず、検索エンジンがそれを追跡してリソースをインデックス化するのに役立つリンクは実際には必要ありません (ボタンの代わりにウェブでリンクを使用するための通常の議論です)
あなたはどちらを選びますか、そしてその理由は何ですか?
アップデート。さて、私はリンクを使用することにしました。議論してくださった皆様、ありがとうございました!