でJavaScriptの機能を持っています。return文
リンクをクリックするときに別の機能を呼びたいと思います。つまり、以下のようにリターン文字列を作成したいと考えています。
return "<b></b><a target='_blank' href="#" onClick=\"MyFunction('" + param1 +"', '" +param2+"')\">Wikipedia Entry</a>";
上記の問題は何ですか。
でJavaScriptの機能を持っています。return文
リンクをクリックするときに別の機能を呼びたいと思います。つまり、以下のようにリターン文字列を作成したいと考えています。
return "<b></b><a target='_blank' href="#" onClick=\"MyFunction('" + param1 +"', '" +param2+"')\">Wikipedia Entry</a>";
上記の問題は何ですか。
onClick
は属性なので、値を引用符で囲む必要があります。
param1
とparam2
は、文字列を作成する際に使用する変数です。値を連結して引用符で囲む必要があります。
return "<b></b><a href=\"#\" onClick=\"MyFunction('" + param1 +"', '" +param2+"')\">Wikipedia Entry</a>";
ありがとうございます。これは動作します(エラーは発生しません)。しかし、文字列 'Wikipedia Entry'はもうリンクとして表示されません。 – user1603842
なぜMyFunction()onclickを呼び出さないのかわかりません。私はmyFunctionで警告を追加しました。返り値 "Wikipedia Entry"のようにすべてのパラメータを削除しました。 https://developers.arcgis.com/javascript/3/sandbox/sandbox.html?sample=widget_extendInfowindowのサンドボックスの例を参照してください。 – user1603842
:)
function fn01(){
var param1 = "param1";
var param2 = 1000;
param1 = ' " ' + param1 + ' " '; //<---- add " in param1
param2 = ' " ' + param2 + ' " '; //<---- add " in param2
var body = document.getElementById('link')
var b = "<b></b><a target='_blank' href='#' onClick='MyFunction("+ param1 +", " + param2 +")'>Wikipedia Entry</a>"; // <--- remove ' out MyFunction
body.innerHTML += b + "<br/><br/><br/>";
}
function MyFunction(str1,str2){
console.log(str1);
console.log(str2);
}
a {
background: #000;
color:#fff;
padding:5px;
}
<a onClick="fn01()" > get a tag</a>
<br/><br/>
<div id="link">
</div>
あなたも、 ''のhref = "#" で引用符をエスケープする必要があります。 – jojonas