文字列内のOnclick関数にパラメータとしてオブジェクトを渡したいとします。以下のようなもの:javascript:文字列内のonclick関数への引数としてオブジェクトを渡します。
function myfunction(obj,parentobj){
var o=document.createElement("div");
o.innerHTML='<input type="button" onclick="somelistener(' + obj + ')" />';
parentobj.appendChild(o.firstChild);
}
明らかに、これは機能しません。誰もが考えている? THX!テキストにobj
の出力が[Object object]
ですので、基本的に、あなたはsomeListener([Object object])
を呼び出しているので、
より完全なバージョン、@Austin
<!DOCTYPE html>
<html>
<body>
<style type="text/css">
</style>
<p id="test">test</p>
<p id="objectid"></p>
<script>
function test(s){
document.getElementById("test").innerHTML+=s;
}
function somelistener(obj){
test(obj.id);
}
function myfunction(obj,parentobj){
var o=document.createElement("div");
o.innerHTML='<input type="button" onclick="somelistener(' + obj + ')" />';
o.onclick = function() {
someListener(obj)
}
parentobj.appendChild(o.firstChild);
}
myfunction(document.getElementById("objectid"),document.getElementById("test"));
</script>
</body>
</html>
orrect。しかし、上記の完全版で試したように、どちらもうまくいきません。あなたは問題を見ることができますか? – Elizabeth
@ scott.korin Thx Scott。しかし、私は大文字を変更した後、それはまだ動作しません。 – Elizabeth
@Austin BTW、o.onclickをo.firstChild.onclickに変更したとしても、それは潜在的に問題がある場合はどちらも動作しません。 – Elizabeth