• 締切済み

関数内でonclickをさせたい

以下に示すような動作をさせたいのですが、手段はあるでしょうか? ご教示の方よろしくお願いいたします。 <html> <head> <script type="text/javascript"> function test1(){ ここでtest2というリンクをクリックしたことにしたい。 document.getElementById("test2").onclickとか勘でやってみたけどダメでした。 } </script> </head> <body> <img src="hoge.jpg" name="test1" onclick="test1();"> <a href="hoge.html" id="test2">test2</a> </body> </html>

みんなの回答

  • think49
  • ベストアンサー率59% (285/482)
回答No.6

質問者さんのHTMLなら以下のコードで動くこと確認しました。 ---- <img src="hoge.jpg" name="test1" onclick="test1();"> <a href="hoge.html" id="test2">test2</a> <script type='text/javascript'> function test1(){ location.href=document.getElementById("test2").href; } </script> ---- > document.getElementById("test2").onclick とか勘でやってみたけどダメでした。 document.getElementById("test2").onclick() は <a href="hoge.html" id="test2">test2</a> にも onclickが定義されていないと働きません。 ---- <img id="test1" src="test.gif" onclick="document.getElementById('test2').onclick();"> <a id="test2" href="test.html" onclick="test2();">test2</a> <script type='text/javascript'> function test2(){ location.href=document.getElementById('test2').href; } </script> ---- これで動きますが、これなら両方とも test2() を実行した方がスマートですね。

回答No.5

<html> <head> <script type="text/javascript"> window.onload=function(){ document.getElementById("test2").onclick=Test2_wo_click; } function Test2_wo_click(){ window.location="hoge.html"; } function test1(){ document.getElementById("test2").onclick(); } </script> </head> <body> <img src="hoge.jpg" name="test1" onclick="test1();"> <a href="javascript:Test2_wo_click()" id="test2">test2</a> </body> </html>

  • sh_hirose
  • ベストアンサー率66% (56/84)
回答No.4

test1がリンクに飛ぶだけの処理だとすれば一般的なのは <a href="hoge.html"><img src="hoge.jpg"></a>

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

リンク先に飛びたいというなら一工夫 function test1(){ var tag=document.getElementById("test2"); if(tag.nodeName=="A") location.href=tag.href; }

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.2

フォームの部品なら ~.click() でいいんだけど、リンクに効くものがあるかどうかはわからない。 一部ブラウザはclick()がリンクにも効くみたいだけど。

  • OKbokuzyo
  • ベストアンサー率43% (130/296)
回答No.1

onclickに「()」が抜けてる。 onclick();

shizer
質問者

補足

()をつけて確認してみましたができませんでした。引き続きどなたかご教示よろしくお願い致します。

関連するQ&A

  • JavaScript onClick

    JavaScript初心者です。 クリックしたら音が出るようにしたいのですが音がでません。 どなたかご回答よろしくお願いします。 <html> <head> <script language = "JavaScript"> <!-- function sound(name){ document.all.music.src = name; } --> </script> </head> <body> <bgsound src = # id = music autostart = true loop = true> <a href = # onClick = sound("img/oto.mp3")> <img src="img/picture.jpg"> </a> </body> </html>

  • onClickへの代入について

    以前onClickへの代入方法についてお聞きしましたが、 また壁にぶつかっておりますので教えてください。 バナーのクリック数をカウントするために、GoogleAnalyticsの以下の関数をaタグのonClickに追加して利用しています。 <a href="xxx.html" onClick="javascript:urchinTracker(\'/test/test\');"><img src="xxx.gif"></a> これは問題ないのですが、 Javascriptで画像を切り替えるため以下のような構成でテストしたところ、 src、href、targetは正常に代入されるのですが、 onClickのみjavascript:urchinTracker(\'/test/test\');のままで、/test/aaaが代入されません。 また、元のHTMLソースからonClickタグ自体を削除すると、onClickタグそのものが代入されません。※Firebugで確認しています。 Javascritpt(sample_chg.js)部分 myImage = new Array(4); myImageName = 0; myImageLink = 1; myImageTarget = 2; myImageOnclick = 3; myImage[myImageName] = "dummy01.gif"; myImage[myImageLink] = "http://xxxxx.com/"; myImage[myImageTarget] = "_blank"; myImage[myImageOnclick] = "javascript:urchinTracker(\"/test/aaa\");"; function myChange(){ document.getElementById("myFormImg").src = myImage[myImageName]; document.getElementById("myLink").href =myImage[myImageLink]; document.getElementById("myLink").target =myImage[myImageTarget]; document.getElementById("myLink").onClick =myImage[myImageOnclick]; } HTML部分 <a id="myLink"onClick="javascript:urchinTracker(\'/test/test\');"><img id="myFormImg"></a> <script language="javascript" type="text/javascript" src="/js/sample_chg.js"></script> <script language="javascript" type="text/javascript"> myChange(); </script> 以前文字列については関数にして代入せよと教えていただいたのですが、 このような場合はどうすればよいのでしょうか。 どうぞよろしくお願い致します。

  • javascriptにてonclickを無効

    javascriptにてonclickを無効にしたい 下記のように、onclickイベントキャンセルを書きましたが、 onclickのjavascriptが実行されます。 何かヒントはありませんか? <html> <head> <script language="JavaScript"> document.onclick = function(e) { event.returnValue = false; } </script> </head> <body> <a href="a.htm" onclick="alert('onclick');">onclick有り</a> <a href="a.htm">onclick無し</a> </body> </html> ※環境 Windows2000(sp4)+ie6(sp1)

  • javascript 初心者です 関数について

    javascript 初心者です。 下記のスクリプトでmyFunc()の部分に引数をつかって、 function myFunc(arg){ document.arg.src = "pic_b.jpg"; } <p onclick="myFunc('stage')">Bに入れ替え</p> のようにしたいのですが、うまくいきません…。 正しいスクリプトを教えてください。 よろしくお願いします。 <html> <head> <script type="text/javascript"> <!-- function myFunc(){ document.stage.src = "pic_b.jpg"; } --> </script> </head> <body> <p onclick="myFunc()">Bに入れ替え</p> <img src="pic_a.jpg" name="stage"> </body> </html>

  • JavaScriptの画像入れ替えについて

    下記のようなものでサムネイルをクリックすると大きな画面に表示される、みたいなものを作っています。しかし職場のIE6でクリックすると表示されなく大きな画像が消えてしまいます。 ちなみに自宅のIE6で確認したときは大丈夫だったのですが、、、 またサムネイル画像のアンカー部分のjavasscript:void(0);を消すと表示されるようになるのですが、やはりここのvoid0には問題があるのでしょうか?? またサーバーにUPする前オンライン上ではなくPCで確認している時はちゃんと表示できていたました。 あまり詳しくないものでどなたかよろしくお願い致します。 <script type="text/javascript"> <!-- function imgch(url) { document.getElementById("image").src=url; } //--> </script> <style type="text/css"> img { border:none; } </style> </head> <body> <img src="image/2.jpg" width="500" height="500" id="image" /> <a href="javascript:void(0);"><img src="image/2.jpg" width="50" height="50" onClick="imgch(this.src)" ></a> <a href="javascript:void(0);"><img src="image/3.jpg" width="50" height="50" onClick="imgch(this.src)" ></a> <a href="javascript:void(0);"><img src="image/3.jpg" width="50" height="50" onClick="imgch(this.src)" ></a> </body>

  • 連続したonclick

    <table> <tr> <td><img src="a001.jpg" onclick="document.body.style.backgroundImage = 'url(a001.jpg)'"></td> <td><img src="a002.jpg" onclick="document.body.style.backgroundImage = 'url(a002.jpg)'"></td> <td><img src="a003.jpg" onclick="document.body.style.backgroundImage = 'url(a003.jpg)'"></td> </tr> </table> ******************************* 1 背景画像の切り替え画像サンプルをつくりました。 これが何十行も連続します。 CSSみたいに同じ内容が重複するときにclassで分類するみたいに、 Javascriptでも簡素化する方法はないでしょうか? <HEAD></HEAD>内には <meta http-equiv="Content-Script-Type" content="text/javascript"> しか書いていません。(Javascriptは初心者です) 2 document.body.style.backgroundColor='#ffffff'; backgroundImageとかbackgroundColorの 後方のImageとかColorの頭文字は大文字でも良いのでしょうか?

  • 関数内でonclickし、必要部分を表示させたい

    Q&Aサイトを作成しており、自己解決できない問題に直面し、大変困っております。 <理想の動作> 答え1の「こちら」をクリックしたら、「100.質問」がクリックされた状態にし、 答え2の部分を表示させるようにしたいのです。 答え1の「こちら」をクリックしたら、答え2の部分を表示させるようにアンカーを 設定しているつもりですが、うまく飛びません。 記述方法を検索して、色々試したのですが、なかなか自己解決できません。 ヒントでも構いませんので、どのように記述すればいいのか教えて頂けませんか? よろしくお願いいたします。 <script type="text/javascript"> <!-- function Aanswer(n) { var target = document.getElementById('answerbox'+n); if( target.style.display != "block" ) { target.style.display = "block"; } else { target.style.display = "none"; } } function myLink01() { location.href = "test.html#show02"; } // --> </script> <title>TEST</title> </head> <body> <dl> <dt onclick="Aanswer(1)">1. 質問</dt> <dd id="answerbox1" onclick="Aanswer(1)">答え1<br /><a href="javascript:myLink01()">こちら</a>を参照してください。</dd> </dl> <dl> <dt onclick="Aanswer(2)">100. 質問</dt> <dd id="answerbox2" onclick="Aanswer(2)"><a name="show02">答え100</a></dd> </dl> </body> </html>

  • どこがおかしいですか?教えてください

    <html><head><title>test</title> <script type="text/javascript"> function openChild(name){ var sub1 = window.open('child.htm','sub','width=300,height=300') sub1.document.getElementById('txt1').value = name; } </script> </head> <body> <img src="kifukoujyo.jpg" alt="wacky" onClick="openChild(this.alt)"> </body> </html>

  • Javascript ポップアップウィンドウについて

    初歩的なことだとは思いますが、教えてください。 ポップアップウィンドウで画像を表示するためのリンクを以下のように記述して使っていますが、 ポップアップウィンドウ内に余白が出ます。(ウインドウ枠と画像の間) ウインドウの左上(0,0)の位置に画像を持ってくるにはどうしたらいいのでしょうか。 調べたものをいくつか試してみましたが、どれもうまくいきませんでした。 よろしくお願いします。 -------------------- ■<head>内 <script type="text/javascript"> <!-- function MM_openBrWindow(theURL,winName,features) { //v2.0 window.open(theURL,winName,features); } //--> </script> ■<body>内 <a href="img/test.gif"><img alt="" src="~.gif" onclick="MM_openBrWindow('img/test.gif','test','scrollbars=yes,width=950,height=400')" /> </a> ------------------------- もしくは、 ■<head>内 <script type="text/javascript"> <!-- function WindowOpen_01(){ window.open('test.gif','test','scrollbars=yes,width=1150,height=350,left=0,top=0'); } //--> </script> ■<body>内 <a href="javascript:WindowOpen_01()"><img src="img/table_off.gif" alt="" width="320" height="55" class="mar_t_10" onmouseover="this.src='img/table_ban_on.gif'" onmouseout="this.src='img/table_off.gif'" /></a>

  • jqueryのloadで読み込んだページ内でthickboxで画像を表示する方法

    画像表示処理方法で教えて頂ければと思います。 テスト用に2つのファイル(index.html, test.html)を用意しました。 index.htmlで thickboxを使用して画像をクリックすると希望通り (画像がアップ表示)の動作をします。 しかしindex.htmlのloadで test.html読み込んだ時の画像部分が、 target="_self"で押したときの動作になってしまいます。 解決方法、よろしくお願いします。 -----index.html----- <html> <head> <link href="thickbox.css" type="text/css" rel="stylesheet" /> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="thickbox.js"></script> <script type="text/javascript"> <!-- function init(){ $("#Test").load("test.html"); } // --> </script> </head> <body onload="init()"> <div id="Test"></div> <hr> (2)<a href="test.gif" title="" class="thickbox"><img alt="" src="test.gif" /></a> </body> </html> -----test.html----- (1)<a href="test.gif" title="" class="thickbox"><img alt="" src="test.gif" /></a>

専門家に質問してみよう