Eksempel
Her er et eksempel på hvordan man sender værdier frem og tilbage mellem et vindue og et popup vindue. Koden er selvfølgelig W3C-godkendt.
Kode
Her er javascript koden fra vinduet som åbner popup vinduet.
Først en erklæring af variablen win, der bliver brugt som refferance til det nye vindue.
Dernæst spørger vi på if (!win || (win && win.closed)). Er der ikke åbnet et vindue eller er det lukket, så åben det, eller sæt fokus på det.
function winOpen() {
var win;
if (!win || (win && win.closed)) {
win=open('popupwindow.html','','width=350,height=270,top=100,left=100');
win.focus();
} else {
win.focus();
}
}
Og nedenstående er javascript koden i popup vinduet. I funktionen init() som bliver kørt på eventhandler onload på body'en, hentes værdien fra opener vinduet og sættes ind i popup vinduet text-felt.
Ved lukning af popup vinduet kontrolleres først om opener vinduet findes og at det ikke er lukket,
hvis det er så sæt opener vinduets text-felt ligmed værdien i popup vindues text-felt.
Og dernæst luk vinduet med window.close();
function init() {
document.forms[0].text2.value =
opener.document.forms[0].text1.value;
}
function winClose() {
if (opener && !opener.closed) {
opener.document.forms[0].text1.value =
document.forms[0].text2.value;
window.close();
} else {
alert("You have closed the main window.\n\n
No action will be taken on the choices in this dialog box.");
}
return false
}