OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

a.href の href を有効か無効にする選択

  • 暇なときにでも
  • 質問No.156199
  • 閲覧数1663
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 59% (194/328)

<script language="JavaScript">
function fa(obja){
if(confirm())obja.href="a.html"
else{obja.href=eval("javascript:void(0)")
inp.value=0//↑がうまくいかない。hrefを無効にしたい。
}
}
function fb(objb){
if(confirm())window.location="a.html"
else{inp.value=0//↑がvoiv(0)によって無効で動作しない。
}
}
</script>
<a href=a.html>りんく</a><a href=javascript:voiv(0) onClick=inp.value=0>ばりゅ</a>
<br>↑と同じようなことを1つのaタグでやりたい<br>
<a href="" onClick=fa(this)>失敗A</a><br>
<a href=javascript:voiv(0) onClick=fb(this)>失敗B</a><br>
<input id=inp>

選択によってクリックのアクションを変更したいんだけど、
1方のアクションはリンク、もう1方はJavaScriptです。
ボタンとかならできるんだけど、クリック済みかを
色分けしたいからaタグでやりたいんです。
よい方法を教えてください。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1

こんにちは。
問いの内容が掴みづらいですが、確認します。
「選択」とは、ダイアログで「OK」を選択したのか「キャンセル」を選択したのかという意味でよいですか。
 A__さんが添付したソースを注意深くみれば、そうだと思いますが、言われた瞬間では、「選択」というとラジオボタン(<input type="radio">)やプルダウンメニュー(<select>)の方が連想しやすいので。
で、どちらを押したかによって、ページをジャンプするか、ジャンプしないでJavaScriptを実行するか分岐するでいいのですか。そうであれば以下のサンプルはいかがでしょうか。

<html>
<head>
<script language="JavaScript">
function func()
{
  if(confirm("OKWEBに行きますか?"))
  {
     return true ;
  }
  var txt = document.formForJS.textForJS;
  txt.value="行きたくありません";
  return false ;
}
</script>
</head>
<body>
  <a href="http://www.okweb.ne.jp/" onclick="return func()">リンク</a>
  <form name="formForJS">
    <input type="text" name="textForJS" size="20" />
  </form>
</body>
</html>

ここでのポイントは、<a>タグのonclickにreturnをつけていること、あわせて、呼んでいる関数でtrue/falseを戻している(returnしている)ことです。
<a>タグのonclickがある場合、trueが戻ってきた場合は、本来のhrefで指定したURLにジャンプします。逆にfalseが戻ってきた場合は、ジャンプせず現在表示しているページのままでいます。
よって、関数内ではダイアログで「OK」が押されたらtrueを戻して終了、リンクジャンプさせます。一方、「キャンセル」が押されたらお好みのJavaScriptプログラムを起動させ、最後にfalseを戻して、ジャンプさせないようにします。
お礼コメント
A__

お礼率 59% (194/328)

onclickにreturnをつければよかったんですね。
hrefを無効にできました。
ありがとうございます。
投稿日時 - 2001-10-27 20:33:27
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ