0

在处理小部件时,我想在 document.write() 编写的按钮上运行 onclick 函数。我基本上需要同时使用 document.open 和 document.write 经过几个小时的工作,我无法让它工作。

该函数既没有运行,我也没有得到隐藏输入的值。

function updateStatus(tittle, details) {

    var win = window.open("", "win", "width=auto,height=auto"); // a window object
    win.document.open("text/html", "replace");

    win.document.write("<input type='hidden' value='33' id='hidden_id'><div onclick='btn_click()'>btn</div>");

}
    function btn_click(){alert('btn_click');
        var variable=document.getElementById("hidden_id");
       alert( variable);

}
4

2 回答 2

0

在 updateStatus 之前编写 btn_click() 函数,不要忘记调用 updateStatus。

于 2013-10-28T19:39:45.403 回答
0

如果您的示例是您项目的完整代码清单,则这两个函数都不会运行,因为它们都不会被调用。此外,函数在声明之前不存在(因此在声明之后才能运行)。

要纠正您的问题,必须在您打开的弹出窗口中声明 btn_click 函数。此外,对 updateStatus 的调用必须在第一页(而不是弹出窗口)的某个位置,因为那是创建弹出窗口的页面。如果适用,可以像这样从 body 标签的 onload 事件中调用它。

<body onload="updateStatus('mytitle','my details');">
    ...
</body>
于 2013-10-28T20:37:50.820 回答