0

フォームの 1 つのターゲットとして iframe を使用しています。フォームが送信されたら、iframe の html を変換する必要があります。onload イベントを使用してみましたが、イベントが発生すると、フォームから生成された html がまだ iframe にありません (デバッガーのブレークポイントのすぐ上):

<html>
<head>
<title>Test</title>
</head>
<body>
    <script language="javascript">
        function loaded(){
            var lResponse = document.getElementById('results');
            debugger;
        }   
    </script>
    <div>
        <table>
            <tr>
                <td width="100%">
                    <form id="serverForm" target="results" <web:taskProcessorName attribute="action"  type="admin"/>>
                        <div>
                            <table>
                                <tr>
                                    <td>
                                        <div name="resultsDiv" id="resultsDiv" style="display: none">
                                            <iframe name="results" id="results" onload="loaded" frameborder="0"></iframe>                                           
                                        </div>
                                    </td>
                                </tr>
                            </table>
                        </div>
                        <!-- Hidden Inputs -->
                        <input type="hidden" name="server" value="..." /> 
                    </form>
                </td>
            </tr>
        </table>
    </div>
    <script language="javascript">
        document.getElementById('serverForm').submit();
        document.getElementById('resultsDiv').style.display='block';        
    </script>
</body>
</html>

サードパーティ ライブラリなし - 純粋な JavaScript。

4

1 に答える 1

-1

代わりに以下を使用しますが、iframehtmlがすでに設定されている場合はイベントをキャッチするようです。

function lLoadFunc(){
    var lResponse = document.getElementById('results');
}

if(lResponse.addEventListener)
    lResponse.addEventListener('load', lLoadFunc, true);
于 2013-01-11T17:00:54.547 に答える