Me gustaría pasar un objeto como parámetro a una función OnClick dentro de una cadena. Algo así como Follwing:javascript: pasar un objeto como argumento a una función onclick dentro de la cadena
function myfunction(obj,parentobj){
var o=document.createElement("div");
o.innerHTML='<input type="button" onclick="somelistener(' + obj + ')" />';
parentobj.appendChild(o.firstChild);
}
Obviamente, esto no funciona. Alguien tiene alguna idea? ¡GRACIAS!
Una versión más completa, según lo sugerido por @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>
@Austin no estoy seguro si entiendo su respuesta c orrect. Pero como probé en la versión completa anterior, tampoco funciona. ¿Podrías ver el problema? – Elizabeth
@ scott.korin Thx Scott. Pero después de que cambié el uso de mayúsculas, todavía no funciona. – Elizabeth
@Austin BTW, incluso si cambio o.onclicelo a o.firstChild.onclick, eso tampoco funciona, si eso es potencialmente un problema. – Elizabeth