Ik heb een pagina met een iframe ingebouwd. Wanneer het document in de iframe is ingeladen zouden er via ajax data van de server moeten gehaald worden.
Op zich geen probleem, dit heb ik al meer gedaan, alleen is deze situatie een beetje speciaal, namelijk:
Op het iframe document staat een hidden form die vlak na het laden van het document wordt gesubmit.
Zoals de code nu is, wordt de ajax call opgeroepen voor de submit, met als gevolg dat al deze data terug verdwijnt na de submit.
Aan het document in de iframe kan ik niets veranderen, met als gevolg dat alle javascript vanuit het parent document moet worden opgeroepen.
Mijn eerste oplossing was deze:
Alleen wordt de doRefresh() methode nooit uitgevoerd.
Vervolgens wou ik het via actief wachten proberen, maar ook hier wordt de code gekoppeld aan het onreadystatechange event niet uitgevoerd.
* Big Womly weet het even niet meer...
Op zich geen probleem, dit heb ik al meer gedaan, alleen is deze situatie een beetje speciaal, namelijk:
Op het iframe document staat een hidden form die vlak na het laden van het document wordt gesubmit.
Zoals de code nu is, wordt de ajax call opgeroepen voor de submit, met als gevolg dat al deze data terug verdwijnt na de submit.
Aan het document in de iframe kan ik niets veranderen, met als gevolg dat alle javascript vanuit het parent document moet worden opgeroepen.
Mijn eerste oplossing was deze:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| window.attachEvent("onload", refreshWorksheets); function refreshWorksheets() { var contWin = document.getElementById("list_iframe").contentWindow; contWin.attachEvent("onload", doRefresh); //contWin.onload = doRefresh; var doc = window.frames["list_iframe"].document; doc.attachEvent("onload", doRefresh); //doc.onload=doRefresh; } function doRefresh() { alert("refresh"); sapphire.events.callLoadListeners(); //roept de load listeners op die de worksheets weergeven voor de submit } |
Alleen wordt de doRefresh() methode nooit uitgevoerd.
Vervolgens wou ik het via actief wachten proberen, maar ook hier wordt de code gekoppeld aan het onreadystatechange event niet uitgevoerd.
JavaScript:
1
2
3
4
5
6
7
8
9
10
| window.attachEvent("onload", refreshWorksheets); function refreshWorksheets() { list_iframe.onreadystatechange = function() { if (list_iframe.readyState === "complete") { addWorksheets(); //de functie die wordt opgeroepen om de worksheets weer te geven voor submit } window.setTimeout("refreshWorksheets()", 100); } } |
* Big Womly weet het even niet meer...
When you talk to God it's called prayer, but when God talks to you it's called schizophrenia