0

以下のコードを見つけてください。onclick イベントから変数 tmp_lnk を関数に渡そうとすると、tmp_lnk が定義されていないというエラーがスローされます。変数を関数に渡すにはどうすればよいですか?

if(fig_name[1]==img_name)
{
var tmp_lnk = "Supplementary Notes for Images/"+"6H-"+img_name/img_name+".pdf"
$("#notes1").append('<div><a onclick="On_Click(tmp_lnk)" id="closebutton">NOTES</a></div>')
break;
}}

function On_Click(tmp_link)
{
    window.open("tmp_lnk");
}

}

4

3 に答える 3

1
$("#notes1").append('<div><a onclick="On_Click(' + tmp_lnk+ ')" id="closebutton">NOTES</a></div>')

function On_Click(tmp_lnk)
{
    window.open(tmp_lnk);
}
于 2012-10-25T15:45:55.967 に答える
0

あるいは、これはどうですか:

$("#notes1").append('<div><a onclick="On_Click('+tmp_lnk+')" id="closebutton">NOTES</a></div>')

これにより、変数の内容がメソッド呼び出しに書き込まれ、問題が解決されます。

于 2012-10-25T15:45:37.807 に答える
0

if で tmp_lnk を宣言してグローバルにするか、if の外側で宣言するためです。

var tmp_lnk
if(fig_name[1]==img_name)
{
tmp_lnk = "Supplementary Notes for Images/"+"6H-"+img_name/img_name+".pdf"
$("#notes1").append('<div><a onclick="On_Click(tmp_lnk)" id="closebutton">NOTES</a></div>')
break;
}}

function On_Click(tmp_link)
{
    window.open("tmp_lnk");
}
}

よく読んだ

JavaScript 変数のスコープ

于 2012-10-25T15:45:43.540 に答える