Avatar billede coolcom Nybegynder
27. juli 2007 - 20:36 Der er 5 kommentarer og
1 løsning

popup ved form

Hey..

Jeg har en form hvor, hvis man trykker på submit kanppen, kommer ../examples/editor_submenu.php frem..

$insertGoTo = "../examples/editor_submenu.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}


Dette er dog en editor som som gerne skulle åbne i et popup vindue i en bestemt størrelse.. Ved et almindeligt link har jeg bare brugt følgende java script:

<script type="text/javascript">

function popup(url,name,win_height,win_width) {
    pos_horizon = ((screen.width/2)-(win_width/2));
    pos_vertical = ((screen.height/2)-(win_height/2));
    window.open(url,name,"width="+win_width+",height="+win_height+",top="+pos_vertical+",left="+pos_horizon);
    }
   
</script>

Og så dette som link:

<a href="#" onclick="popup('../examples/editor.php?id=<?php echo $_GET['id']; ?>','mitvindue','340','450');">Åben editor</a>

Det virker også fint, men jeg kan bare ikke finde ud af hvordan jeg laver formen sådan at den dukker op med ovenstående link når man trykker submit..
Avatar billede jakobdo Ekspert
27. juli 2007 - 20:53 #1
Kunne du ikke i stedet for din header() lave:

<script type="text/javascript">

function popup(url,name,win_height,win_width)
{
    pos_horizon = ((screen.width/2)-(win_width/2));
    pos_vertical = ((screen.height/2)-(win_height/2));
    window.open(url,name,"width="+win_width+",height="+win_height+",top="+pos_vertical+",left="+pos_horizon);
}
<?php   
$insertGoTo = "../examples/editor_submenu.php";
if (isset($_SERVER['QUERY_STRING']))
{
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
}
?>
popup('<?=$insertGoTo;?>','mitvindue','340','450');
</script>
Avatar billede coolcom Nybegynder
27. juli 2007 - 21:28 #2
Jo det kunne jeg:D..

Smid et svar og få point.
Avatar billede jakobdo Ekspert
27. juli 2007 - 22:03 #3
Svar!
Avatar billede olebole Juniormester
28. juli 2007 - 01:51 #4
<ole>

- men der er ikke mange, der vil få glæde af den popup. Langt de fleste bruger idag popup-blocker og sådan én accepterer kun popups, der åbnes på en brugerhandling - f.eks. et klik.
Stortset alle popup-blockers nægter at have med auto-popups at gøre ... det er lige netop dét, der er deres hovedopgave.

I stedet kan du åbne en popup med et klik på et link. I popup'en loader du et dokument (i eksemkplet nedenfor hedder det 'side.html'), der indeholder dette script:

<script type="text/JavaScript">
window.opener.document.myForm.submit();
</script>

Formen ser sådan ud:
    <form action="side.php" name="myForm" target="myWin">

Popup-funktionen er den, du har nu - og du kalder den sådan:
    <a href="#" onclick="popup('side.html', 'myWin', '340', '450')">Post form</a>

Så vil popup'en altid være klar, når formen subittes. Sørg dog altid for, at andet argument i funktioneskaldet er det samme som din target-attribut i formen  ;o)

/mvh
</bole>
Avatar billede olebole Juniormester
28. juli 2007 - 01:52 #5
- og mine sdavøfajl er gratis ... sorry  =)
Avatar billede jakobdo Ekspert
28. juli 2007 - 09:35 #6
Jeg takker for point.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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