<ole>
Man har nu nok tid til at åbne et vindue - man kan endda nå at traversere en form, høste variabler, danne en query-streng og åbne et vindue til at gemme værdier i. Vil man derimod til at submitte en form eller direkte tilbyde fortrydelse af sideskiftet, kommer event'en til kort.
Dette vil dog fungere fint:
<?
if ( isset($_GET["panicSaving"]) && $_GET["panicSaving"]<>"" ) {
print "Gemmer følgende data:<br><xmp>";
var_dump($_GET);
print "</xmp>";
# print "<script type=\"text/JavaScript\">window.close()</script>";
exit;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>TITLE</title>
<script type="text/JavaScript">
var submitting = false;
window.onunload = function() {
if (submitting) return;
var f = document.forms[0];
var a = new Array();
for ( i=0; i<f.length; i++ ) {
a.push(f.elements[i].name + "=" + f.elements[i].value);
}
window.open("<?=$_SERVER["PHP_SELF"]?>?panicSaving=true&"+a.join("&"), "safeWin", "width=500,height=500");
}
</script>
</head>
<body>
<form action="<?=$_SERVER["PHP_SELF"]?>" method="get" onsubmit="submitting=true">
<input type="hidden" name="et_skjult_felt" value="Første skjulte felt">
<select name="et_navn">
<option value="-1">Vælg ...</option>
<option value="1">Bla 1</option>
<option value="2">Bla 2</option>
<option value="3">Bla 3</option>
</select><br>
<input type="text" name="et_tekst_felt"><br>
<input type="hidden" name="endnu_et_skjult_felt" value="Andet skjulte felt">
<button type="submit" name="knap">Send</button>
</form>
</body>
</html>
Nu ligger hele koden i ét dokument, men det kunne jo sagtens være en speciel 'gemme-fil', man loader i vinduet. Det er blot et eksempel :)
Opera vil dog ikke være med på denne løsning, da den på flere punkter har en elendig event-håndtering :o|
/mvh
</bole>