• ベストアンサー

確認ダイアログの出し方

下記の条件を満たす確認ダイアログの出し方を教えて下さい。 ・フォームのボタンではなくリンクテキストで実行 ・リンククリックでダイアログ表示、OK選択でリンク先に移動、キャンセル選択で移動なし(元のページを表示したまま) ・1つのページに複数記設置出来る(移動先は、それぞれ別)

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

#1です。 済みません、うまく動かないみたいですね。 当方XP+IE6では、うまく動くのですが… return false;については、最初かいていたのですが、なくても動くようだったので止めてしまいました。 でも、間違いだったようです。 MacのIEの動作はWinのIEと動作が異なるようですが、 以下を試して貰えませんか <A href="test1.html" onclick="stepJump(this);return false;">リンク1</A><br> <A href="test2.html" onclick="stepJump(this);return false;">リンク2</A><br> <A href="test3.html" onclick="stepJump(this);return false;">リンク3</A><br> に変更する

noname#38724
質問者

お礼

回答ありがとうございます。 試してみた所、理想通りの動作になりました。 有り難うございました。

その他の回答 (2)

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.2

私も書くのをよく忘れますが、jumpさせたくないときはreturn falseでリンクの動作を抑止します。 > onmousedown="stepJump(this)" → onmousedown="stepJump(this);return false;" または、function stepJump()の方でfalseを返して → onmousedown="return stepJump(this)"

noname#38724
質問者

補足

回答ありがとうございます。 下記の記述で良いんですよね? <script type="text/javascript"> <!-- function stepJump(a){ if(confirm("ホントにリンク先に移動しますか?")){ location.href=a.href; } } //--> </script> <a href="test1.html" onMouseDown="stepJump(this);return false;">リンク1</a><br> <a href="test2.html" onMouseDown="stepJump(this);return false;">リンク2</a><br> <a href="test3.html" onMouseDown="stepJump(this);return false;">リンク3</a><br> 当方の勘違いでしたら申し訳ないのですが、 リンク1をクリック→OKでtest1.htmlにジャンプ→ブラウザの戻る→リンク2(リンク1/リンク3)をクリック→キャンセルを選択→test2.html(それぞれのリンク先)にジャンプしてしまいます。仕様なのでしょうか?

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

<script type="text/javascript"> <!-- function stepJump(a){ if(confirm("ホントにリンク先に移動しますか?")){ location.href=a.href; } } //--> </script> <A href="test1.html" onmousedown="stepJump(this)">リンク1</A><br> <A href="test2.html" onmousedown="stepJump(this)">リンク2</A><br> <A href="test3.html" onmousedown="stepJump(this)">リンク3</A><br> って感じで

noname#38724
質問者

補足

回答ありがとうございます。 試してみたのですが、キャンセルを選択してもリンク先にジャンプしてしまいます。 環境はMacintosh9.2+IE5.2になります。

関連するQ&A

専門家に質問してみよう