あなたの習慣について教えてください!!

ボタンをクリックすると指定のページに飛ぶようにしたいのですが、
<html>
<head>
<script language="JavaScript">
function jump(){
location.href="index.html";
}
</script>
</head>
<body>
<form onSubmit="jump()">
<input type="submit">
</form>
</body>
</html>

でも

<html>
<head>
<script language="JavaScript">
function jump(){
location.href="index.html";
}
</script>
</head>
<body>
<form>
<input type="submit" onClick="jump()">
</form>
</body>
</html>

でも動きません。(そのページを表示したままです)

<body onload="jump()">にしたときは正常にジャンプできるので、クリックのイベントが拾えていないと思うのですが、どのように記述すればいいのでしょうか。
よろしくお願いいたします。

A 回答 (2件)

form送信が無効化されていないので、formがサブミットされた時に、JavaScriptの動作よりもform送信が優先されて、スクリプトの動作が止められているのではないかと思います。



<form onSubmit="jump(); return false;">

このように、return falseをイベントハンドラ内に入れて、form送信を無効化すればよいと思います。

参考になれば。
    • good
    • 0
この回答へのお礼

なるほど、原因がわかりました。
どうもありがとうございました。

お礼日時:2004/02/08 13:03

<INPUT TYPE=button>や<INPUT TYPE=submit>を使って別のページに飛びたいのですね。



同じウィンドウにgooのページを表示する場合
<HTML>
<INPUT TYPE=button VALUE="Jump" onClick="window.open('http://www.goo.ne.jp/','_self');">
</HTML>

別のウィンドウにgooのページを表示する場合
<HTML>
<INPUT TYPE=button VALUE="Jump" onClick="window.open('http://www.goo.ne.jp/','_new');">
</HTML>

こんな感じでいかがでしょうか?
    • good
    • 0
この回答へのお礼

なるほど、formタグを使わなくてもいいんですね。
ご回答どうもありがとうございました。

お礼日時:2004/02/08 13:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!