質問

質問者:Claudia 【Javascript】でsubmit時に一瞬ページトップへ画面が動い...
困り度:
  • すぐに回答が欲しいです
【Javascript】でsubmit時に一瞬ページトップへ画面が動いてしまう
FORMのACTION先への画面遷移を、onClickを使ってsubmit()しています。
=== Javascript部分 ============================
<SCRIPT TYPE="text/javascript"><!--
function hoge(a,b){
frm.elm1.value = a;
frm.elm2.value = b;
frm.submit();
}
--></SCRIPT>
=== HTML ======================================
<A HREF="#" onClick="hoge(1,2);">ほにゃらら</A>
===============================================

HREF="#" としているせいか、
クリック時にページ先頭へ動いてからFORMの遷移先へ画面が遷移します。

Aタグを使っているのはスタイルシートでhover時のスタイルを指定したい為です。
Javascriptでsubmitしているのはご覧のようにクリック時に一処理したい為です。

普通のリンクのように
クリックしてから遷移するまでの間に画面が動かないよう
自然に見せるにはどのようにすれば実現できるでしょうか。

ご存知の方いらっしゃいましたらご教示願います。
宜しくお願い致します。
質問投稿日時:2008/01/08 20:28
質問番号:3661955
この質問に対する回答は締め切られました。
最新から表示回答順に表示良回答のみ表示

回答

良回答20pt

回答者:yambejp <A HREF="#" onClick="hoge(1,2);return false;">ほにゃらら</A>

で、いきませんかねぇ?
回答日時:2008/01/08 21:54
回答番号:No.2
この回答への補足 いきました。ありがとうございます。

上のJS部のsubmit();の後にreturn false;書いて
うまくいかないいかないと唸ってました^^;

そこに書けばOKなんですね
この回答へのお礼 この回答にお礼をつける(質問者のみ)

回答

良回答10pt

回答者:arexis 昔ながらに使われているのは
href="javascript:void(0)"
です。
今時はもう少しスマートな方法があるのかな?



>Javascriptでsubmitしているのはご覧のようにクリック時に一処理したい為です。

formも form に onsubmit="return hoge()"をつけてhogeでfalseかtrueを返す事で送信前の処理と送信制御可能です。
でもSubmitボタンが無い方が便利なケースもありますしね。
回答日時:2008/01/08 21:34
回答番号:No.1
この回答への補足 “onsubmit”は普段使ってなかったので盲点でした。
機会があったら使おうと思います。
ありがとうございました
この回答へのお礼 この回答にお礼をつける(質問者のみ)
最新から表示回答順に表示良回答のみ表示