15. november 2004 - 14:53
Der er
3 kommentarer og
1 løsning
open.window
Hej Eksperter
Jeg åbner et vindue ved tryk på en knap, heri skriver jeg noget text. Det virker fint, men hvis jeg lukker vinduet og trykker på knappen igen åbner vinduet ikke men der kommer istedet en fejl.
function help(){
help = '<HTML><HEAD>';
help += '</BODY></HTML>';
helpWindow = window.open("", "", 'toolbar=0,width=250,height=250') ;
helpWindow.document.write(help);
return false;
}
denne funktion kaldes sådan:
<input type="button" onclick="help();void(0);" class="submit Type1" value=" Hjælp" />
15. november 2004 - 16:41
#1
Sikkert fordi du i mellemtiden har brugt help som variabel !-)
Undgå for det første altid at bruge variabel- og/eller funktionsnavne, som kan have en betydning i javascript, og for det andet at bruge samme identifier mere end een gang, så f.eks.
function visHelp(){
var txt = '<HTML><HEAD>';
txt += '</BODY></HTML>';
helpWindow = window.open("", "", 'toolbar=0,width=250,height=250') ;
helpWindow.document.write(txt);
helpWindow.document.close();
return false;
}
denne funktion kaldes sådan:
<input type="button" onclick="visHelp();void(0);" class="submit Type1" value=" Hjælp" />
-- ved at deklarere variablen med var, sikrer du endvidere at den aldrig kan have betydning udenfor funktionen !-)
-- en ekstra sikkerhed kan laves ved at:
var helpWindow = {'closed':true};
function visHelp(){
if(!helpWindow.closed)helpWindow.close();
var txt = '<HTML><HEAD>';
txt += '</BODY></HTML>';
helpWindow = window.open("", "", 'toolbar=0,width=250,height=250') ;
helpWindow.document.write(txt);
helpWindow.document.close();
return false;
}