• ベストアンサー

form action="#"

"#"ってどういう意味ですか? 検索してもなかなか見つかりません。 解説の載っているページを教えてもらえませんか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

<form action="#">は、ボタンをページの先頭にジャンプするリンクの変わりに使う場合に使用します。 <form>で、送信ボタン(<input type=submit>等)を押すと、action=""で指定したURLにジャンプします。 通常actionには実行するCGIのURL名が入りますが、単にリンクの変わりに使う事ができます。 たとえば <form action="aaa.html"> <input type=submit value="aaaへ"> </form> とやると、aaa.htmlへリンクするボタンができます。 actionに"#"と書く件ですが、これは<a href="#">の変わりになります。 fibre102さんは、<a name="">タグは判りますか? アンカータグと言い、ページの任意の位置にタグを置いておくと、その場所にリンクを張れるようになります。 #はURLとアンカー名を区切る区切り記号です。 通常は<a href="aaa.html#top">や<form action="bbb.html#tail">のように書きます。 また、同じページ内なら<a href="#tag">のようにURLを省略して書くこともできます。 で、#だけ書くとどうなるかと言うと、大抵のブラウザはページの先頭にジャンプしてくれます。 (定義されていないアンカー名に対しリンクを書くと、先頭に行くようになっているため…かな?  最初の行に<a name="top">等と書いて、"#top"にリンクする手もありますが、余白等が入り数ドット下にずれてしまいます。) ご質問の件は、以上二つの機能の複合です。 それぞれformとa nameタグの説明を検索してみると良いと思いますよ。 http://www.tohoho-web.com/html/form.htm http://www.tohoho-web.com/html/a.htm

fibre102
質問者

お礼

<a name="">はわかります。action=""はURLにジャンプの意味も理解しました。http://www.tohoho-web.com/html/も元々見てたりしました。 URLとして"#"を指定した場合の意味がどこかに明記されてないものかと検索してたのですが、"#"を検索キーに使うのがうまくいかないのか、見つからなかった次第です。

その他の回答 (2)

  • UKY
  • ベストアンサー率50% (604/1207)
回答No.3

なぜこんなことを書くかというと、単純に、action は必ず書かなければいけないと HTML の仕様書で決められているからです。action を指定することに意味はありませんが、とりあえず何か書かなければいけないので、同じページを表す URI を書くのが習慣になっています。 とくに同じページに移動しなおす必要はないので、移動しないようにスクリプトから指示しなおすのが普通です。

fibre102
質問者

お礼

回答ありがとうございます。

noname#83116
noname#83116
回答No.1

そのページの先頭にもどる、という意味です。 例えば、適当なページのアドレスの最後に「#」をつけてアクセスしてみてください。ページの先頭が表示されるはずです。 <form action="#"> というのは、 JavaScript で使われることが多いですね。つまり、 submit ボタンを押したときにページの先頭に戻る、という意味を表しています。 説明がわかりにくかったらすみません。

fibre102
質問者

補足

なるほど。 JavaScriptのコードで見かけて気になったのですが、何もしないという意味かと思ってました。 JavaScript使用時にページの先頭に戻るactionが必要な理由は何でしょう? action対象が自分のページ自身だからでしょうか。

関連するQ&A