- ベストアンサー
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>
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> [GO]を押さなくてもセレクトを選んだだけで動作します。 そういう動作をする様に書かれていますね。 『GO』を押すまで動かない様にするには、 selectタグの 「onchange="JavaScript:location.href=this.value;return false;"」を消してください。
その他の回答 (2)
- zxcv0000
- ベストアンサー率56% (111/196)
> <input type="button" value="GO" onclick="JavaScript: location.href=this.form.u.value; return false;" /> > それでは、この部分を消しても大丈夫って事でしょうか? はい、select を選んだだけで飛ぶ方が良ければ、消してもいいです。 しかし、JavaScriptを禁止されたブラウザで飛べない事態を避けたければ、消さないでください。 > <form>のアクションを書かない方が良いのでしょうか、どうすれば良いのでしょうか? 良く知りませんが、可能性として、書く害よりは書かない害の方がありそうな気がします。 いや、世の中にはいろんなブラウザがあって、より多くのブラウザで意図通りの動作をさせるにはどちらが得策かと言う意味で書く方をお勧めします。
お礼
追記へのご回答ありがとうございます。大変よくわかりました。
<select>のonchangeにJavaScriptが設定されている。onchangeは、項目が変更された際のイベントだ。これにより、何かを選んだら、ここに設定されたスクリプトが動作する。 よく見ると、hrefの指定先が<select>と<submit>で異なっているから、メニューを選んだときにはAの処理をし、SbmitしたらBの処理をする、というようなことを考えているんだろうと思う。
お礼
お早いお返事ありがとうございます。 <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>のアクションを書かない方が良いのでしょうか、どうすれば良いのでしょうか? <(_ _)>
お礼
お早いお返事ありがとうございます。 <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>のアクションを書かない方が良いのでしょうか、どうすれば良いのでしょうか?