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

サンプルがプロジェクトの完全なコード リストである場合、どちらの関数も呼び出されないため、どちらの関数も実行されません。さらに、関数は宣言されるまで存在しません (したがって、宣言されるまで実行できません)。

問題を解決するには、開いているポップアップで btn_click 関数を宣言する必要があります。また、updateStatus の呼び出しは、ポップアップを作成するページであるため、(ポップアップではなく) 最初のページのどこかにある必要があります。該当する場合は、このように body タグの onload イベントから呼び出すことができます。

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