3

現在、データベース内に投票するためにURLクエリを送信する2つのアンカータグがありますが、フォームを使用してURLをクリーンに保ち、クエリの重複を回避したいと考えています(実際には問題ではありませんが、見栄えが悪くなります)。

ここで、cssを介してボタン(リンク)に背景要素を追加するために、アンカーの内部にスパンタグを含める必要があるため、通常のフォームボタンを使用することはできません。

javasciptを使用してアンカーからこれらのフォームを送信することは悪い習慣だと思いますか?私は他のいくつかの解決策を考えることができますが、それらはすべて問題を起こす価値がないようです。javascriptが無効になっているユーザーが代わりにURLクエリを送信できるようにするスクリプトなしのフォールバックを維持する必要があります(私は本当にURLクエリを完全に避けたいです)?もしそうなら、これはどのように実行するのが最善でしょうか?

ありがとう、
サイモン。

4

3 に答える 3

8

フォームで使用でき<button>ます。コンテンツを含めることができ、好きなようにスタイルを設定できます。

現在とまったく同じように見せることができますが<a>、クリックするとPOSTフォームが送信されます。それはまるで<a>POSTを行うものがあるかのようです!

于 2010-07-17T22:59:55.380 に答える
5

ボタンをこのようにするとうまくいくはずです:

<button type="submit" value="upvote">
  <span>Vote Up</span>
</button>

<button type="submit" value="downvote">
  <span>Vote Down</span>
</button>

JavaScript を使用してフォームを送信しないように努めるか、少なくとも、機能が無効になっているときに機能が使用できるようにする必要があります。

于 2010-07-17T23:01:56.947 に答える
1

通常のフォーム送信ボタンを使用することをお勧めします。
ボタンに CSS を適用してスタイリッシュな外観にしたり、背景画像を適用したりできます。

あなたのやり方が悪い習慣だとは思いません。ただし、No-Script for Firefox などのアドオンを使用しているユーザーの場合、フォームが壊れます。

于 2010-07-17T23:04:56.523 に答える