• ベストアンサー

FORMボタン

このフォーム変なのですか? 見た目は、[年月] [GO] となっていて、 [年月]のセレクトで選んで、 [GO]ボタンを押せばそのページに飛ぶのだと思いますが、 [GO]を押さなくてもセレクトを選んだだけで動作します。 この[GO]のボタンの意味あるんでしょうか? それとも何か間違っていますか? 正しい記述方法があれば教えてください。 <form> <select name="u" onchange="JavaScript:location.href=this.value;return false;"> <option value="http://~~/2009-05-1.html">2009/05</option> <option value="http://~~/2009-04-1.html">2009/04</option> </select> <input type="button" value="GO" onclick="JavaScript: location.href=this.form.u.value; return false;" /> </form>

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

  • ベストアンサー
  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.1

> [GO]を押さなくてもセレクトを選んだだけで動作します。 そういう動作をする様に書かれていますね。 『GO』を押すまで動かない様にするには、 selectタグの 「onchange="JavaScript:location.href=this.value;return false;"」を消してください。

takumana20
質問者

お礼

お早いお返事ありがとうございます。 <input type="button" value="GO" onclick="JavaScript: location.href=this.form.u.value; return false;" /> それでは、この部分を消しても大丈夫って事でしょうか? <meta http-equiv="Content-Script-Type" content="text/javascript" /> HEAD内には、これを書いています。 <form>のアクションを書かない方が良いのでしょうか、どうすれば良いのでしょうか?

その他の回答 (2)

  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.3

> <input type="button" value="GO" onclick="JavaScript: location.href=this.form.u.value; return false;" /> > それでは、この部分を消しても大丈夫って事でしょうか? はい、select を選んだだけで飛ぶ方が良ければ、消してもいいです。 しかし、JavaScriptを禁止されたブラウザで飛べない事態を避けたければ、消さないでください。 > <form>のアクションを書かない方が良いのでしょうか、どうすれば良いのでしょうか? 良く知りませんが、可能性として、書く害よりは書かない害の方がありそうな気がします。 いや、世の中にはいろんなブラウザがあって、より多くのブラウザで意図通りの動作をさせるにはどちらが得策かと言う意味で書く方をお勧めします。

takumana20
質問者

お礼

追記へのご回答ありがとうございます。大変よくわかりました。

noname#94983
noname#94983
回答No.2

<select>のonchangeにJavaScriptが設定されている。onchangeは、項目が変更された際のイベントだ。これにより、何かを選んだら、ここに設定されたスクリプトが動作する。 よく見ると、hrefの指定先が<select>と<submit>で異なっているから、メニューを選んだときにはAの処理をし、SbmitしたらBの処理をする、というようなことを考えているんだろうと思う。

takumana20
質問者

お礼

お早いお返事ありがとうございます。 <input type="button" value="GO" onclick="JavaScript: location.href=this.form.u.value; return false;" /> それでは、この部分を消しても大丈夫って事でしょうか? <meta http-equiv="Content-Script-Type" content="text/javascript" /> HEAD内には、これを書いています。 <form>のアクションを書かない方が良いのでしょうか、どうすれば良いのでしょうか? <(_ _)>

関連するQ&A