Avatar billede dimsen Nybegynder
07. marts 2004 - 03:35 Der er 16 kommentarer og
1 løsning

Popup close efter formular er sendt

Davs jeg har lavet et lille script hvor man kan udfyle nogle ting i en formular som den så sender videre til en databse, men nok om det. Mit problem ligger i at det popup vindue formularen popper op i ikke lukkes med mindre man lukker den selv.

Jeg vil gerne have den til at lukke når man trykker "send" formular, hvordan kan dette gøres =)?

på forhånd tak
Avatar billede grunken Nybegynder
07. marts 2004 - 03:44 #1
Tror du ikke at du skal lade formulardata blive gemt inden at du automatisk lukker vinduet ?

når formularen har gemt data korrekt, skriver du bare nedenstående til browseren :

<script language="Javascript type="text/javascript">
self.close();
</script>
Avatar billede dimsen Nybegynder
07. marts 2004 - 12:00 #2
Hvor skulle det så puttes ind ?
Avatar billede saudoo Nybegynder
07. marts 2004 - 18:32 #3
Den siden som du returnere til efter du har "send", kan du jo sætte til at meta redirecte, med "self.close" efter eks. 5 efter siden har loaded.
Avatar billede dimsen Nybegynder
07. marts 2004 - 19:00 #4
ehh forstår ikke helt hvad i mener
Avatar billede grunken Nybegynder
07. marts 2004 - 19:07 #5
Du har højst sandsynligt et stykke kode der gemmer noget til en eks. sql database, når disse query's er udført skal du i bunden AF et eks. php-dokument skrive

echo"
<script type=\"text/javascript\">
  self.close();
</script>
";

Sidst men ikke mindst må du da have noget kode af det du allerede har lavet, og så eventuelt give et link der til ?

LÆS: det er kropumuligt at hjælpe, hvis man ikke aner hvordan din kode ser ud, & du egentligt heller ikke gør det :o)
Avatar billede dimsen Nybegynder
07. marts 2004 - 23:19 #6
$fil = "links.txt";
$ingenbe = "Der er ingen beskrivelse";
$maaneder = array("januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december");
$tid = $ugedage[date(w)]." den ".date(j).". ".$maaneder[date(m) - 1]." kl. ".date("H:i:s");
if (getenv('HTTP_X_FORWARDED_FOR'))
{
$ip=getenv('HTTP_X_FORWARDED_FOR');
}
else {
$ip=getenv('REMOTE_ADDR');
}
if($adresse) {
$beskrivelse = ereg_replace("<","&lt;",$beskrivelse);
$beskrivelse = ereg_replace(">","&gt;",$beskrivelse);

if ($beskrivelse) {
$str  = "<a href=$adresse>$adresse</a> &nbsp;&nbsp;$beskrivelse&nbsp;-&nbsp;<font color=#999999 size=1>[$tid-$ip]</font><br>\n";
} else {
$str  = "<a href=$adresse>$adresse</a> &nbsp;&nbsp;$ingenbe &nbsp;-&nbsp;<font color=#999999 size=1>[$tid-$ip]</font><br>\n";
}
$fp = fopen($fil, r);
if($fp) {
$filArray = file($fil);
$result = implode("", $filArray);
$result = "$str$result";
fclose($fp);
}
$fp = fopen($fil, w);
if($fp) {
fputs($fp, $result); 
fclose($fp);
}


}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Tilføj dit link til Dipp.dk</title>
</head>
<body>
<TABLE WIDTH="530" hight="100" BORDER="0" CELLSPACING="0" CELLPADDING="0" bgcolor="#FFFFFF">
<TR>
<td></td>
<td valign="top">
<b><p align="left"><font face="Verdana" size="1">Tilføj et link til Dipp.dk</font></p></b><br>
<FORM ACTION="addlink.php">
</tr>
    <tr><td class="tekst"><font face="Verdana" size="1">Adresse:</font></td><td><input type="text" name="adresse" style="font-family: Verdana; border: 1px dotted #000000; background-color: #FFFFFF" value="http://"></td></tr>
    <tr><td class="tekst"><font face="Verdana" size="1">Beskrivelse:</font></td><td><textarea name="beskrivelse" cols="30" rows="8" style="font-family: Verdana; border: 1px dotted #000000; background-color: #FFFFFF"></textarea></td></tr>
      <tr><td class="tekst"><font face="Verdana" size="1">Tilføj linket.</font></td><td><input type="submit" value="Tilføj" style="color: #000000; font-family: Verdana; border: 1px dotted #000000; background-color: #FFFFFF"></td></tr>

   
    <br><br>
    </FORM>



   
   
</TR>
</TABLE>
</body>
</html>
Avatar billede dimsen Nybegynder
07. marts 2004 - 23:24 #7
hvis du kunne fortælle mig hvor det skal sættes ind har prøvet lidt forskelligt uden nogen anden effekt at vinduet lukker så snart det åbnes ;-)
Avatar billede saudoo Nybegynder
07. marts 2004 - 23:37 #8
Bare sætte denne kode ind i din <meta></meta> på den siden du ender på.

<meta http-equiv=self.close() content=0>
eller
<meta http-equiv=self.close(); content=0>

tror jeg..
Avatar billede saudoo Nybegynder
07. marts 2004 - 23:39 #9
altså på "addlink.php"
Avatar billede saudoo Nybegynder
07. marts 2004 - 23:42 #10
Btw, måske ville det være en ide at sætte dine linke, til targer="_blank", så de ikke åbner i den lille frame. :D
Avatar billede saudoo Nybegynder
07. marts 2004 - 23:48 #11
Nej ok, det er min.

Du må lave en fil med self.close og informationer om at skrive til filen, files navn osv. Men self skrive informationer før self.close. Og så sætte
<FORM ACTION="addlink.php"> til denne nye fil.


Og så kan du samtidig slette informationerne:
$fil = "links.txt";
$ingenbe = "Der er ingen beskrivelse";
$maaneder = array("januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december");
$tid = $ugedage[date(w)]." den ".date(j).". ".$maaneder[date(m) - 1]." kl. ".date("H:i:s");
if (getenv('HTTP_X_FORWARDED_FOR'))
{
$ip=getenv('HTTP_X_FORWARDED_FOR');
}
else {
$ip=getenv('REMOTE_ADDR');
}
if($adresse) {
$beskrivelse = ereg_replace("<","&lt;",$beskrivelse);
$beskrivelse = ereg_replace(">","&gt;",$beskrivelse);

if ($beskrivelse) {
$str  = "<a href=$adresse>$adresse</a> &nbsp;&nbsp;$beskrivelse&nbsp;-&nbsp;<font color=#999999 size=1>[$tid-$ip]</font><br>\n";
} else {
$str  = "<a href=$adresse>$adresse</a> &nbsp;&nbsp;$ingenbe &nbsp;-&nbsp;<font color=#999999 size=1>[$tid-$ip]</font><br>\n";
}
$fp = fopen($fil, r);
if($fp) {
$filArray = file($fil);
$result = implode("", $filArray);
$result = "$str$result";
fclose($fp);
}
$fp = fopen($fil, w);
if($fp) {
fputs($fp, $result); 
fclose($fp);
}


}

?>

fra overstående fil.
Avatar billede saudoo Nybegynder
07. marts 2004 - 23:49 #12
altså der hvor der står :<FORM ACTION="addlink.php"> til denne nye fil.
skal du ændre "addlink.php" til den nye fil. :D
Avatar billede saudoo Nybegynder
07. marts 2004 - 23:56 #13
Okay, her har jeg en løsning.


-- sendlink.php --
<html>
<head>
<title>Tilføj dit link til Dipp.dk</title>
</head>
<body>
<TABLE WIDTH="530" hight="100" BORDER="0" CELLSPACING="0" CELLPADDING="0" bgcolor="#FFFFFF">
<TR>
<td></td>
<td valign="top">
<b><p align="left"><font face="Verdana" size="1">Tilføj et link til Dipp.dk</font></p></b><br>
<FORM ACTION="addlink.php">
</tr>
    <tr><td class="tekst"><font face="Verdana" size="1">Adresse:</font></td><td><input type="text" name="adresse" style="font-family: Verdana; border: 1px dotted #000000; background-color: #FFFFFF" value="http://"></td></tr>
    <tr><td class="tekst"><font face="Verdana" size="1">Beskrivelse:</font></td><td><textarea name="beskrivelse" cols="30" rows="8" style="font-family: Verdana; border: 1px dotted #000000; background-color: #FFFFFF"></textarea></td></tr>
      <tr><td class="tekst"><font face="Verdana" size="1">Tilføj linket.</font></td><td><input type="submit" value="Tilføj" style="color: #000000; font-family: Verdana; border: 1px dotted #000000; background-color: #FFFFFF"></td></tr>

   
    <br><br>
    </FORM>



   
   
</TR>
</TABLE>
</body>
</html>

-- addlink.php --
$fil = "links.txt";
$ingenbe = "Der er ingen beskrivelse";
$maaneder = array("januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december");
$tid = $ugedage[date(w)]." den ".date(j).". ".$maaneder[date(m) - 1]." kl. ".date("H:i:s");
if (getenv('HTTP_X_FORWARDED_FOR'))
{
$ip=getenv('HTTP_X_FORWARDED_FOR');
}
else {
$ip=getenv('REMOTE_ADDR');
}
if($adresse) {
$beskrivelse = ereg_replace("<","&lt;",$beskrivelse);
$beskrivelse = ereg_replace(">","&gt;",$beskrivelse);

if ($beskrivelse) {
$str  = "<a href=$adresse>$adresse</a> &nbsp;&nbsp;$beskrivelse&nbsp;-&nbsp;<font color=#999999 size=1>[$tid-$ip]</font><br>\n";
} else {
$str  = "<a href=$adresse>$adresse</a> &nbsp;&nbsp;$ingenbe &nbsp;-&nbsp;<font color=#999999 size=1>[$tid-$ip]</font><br>\n";
}
$fp = fopen($fil, r);
if($fp) {
$filArray = file($fil);
$result = implode("", $filArray);
$result = "$str$result";
fclose($fp);
}
$fp = fopen($fil, w);
if($fp) {
fputs($fp, $result); 
fclose($fp);
}


}

?>
<html>
<body onload="self.close()">
</html>
Avatar billede dimsen Nybegynder
09. marts 2004 - 14:32 #14
Har ikke lyst til at dele den op der må da være en løsning har også et andet script som meget gerne vil kunne bruge det i :)
Avatar billede saudoo Nybegynder
09. marts 2004 - 19:21 #15
Så du vel lave en if, regestreringen gennemfører echo "<body onload='self.close()'>";

... :|
Avatar billede saudoo Nybegynder
09. marts 2004 - 19:23 #16
du vil nemlig ikke bare kunne sætte koden ind, lige over ?>, da siden vil lukke før den når til at læse formularen, til at tilføje siden.
Avatar billede dimsen Nybegynder
05. august 2004 - 17:37 #17
.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB