Avatar billede cow2 Nybegynder
14. november 2006 - 12:24 Der er 18 kommentarer

luk popup og skift side!

Jeg har en side hvor der åbnes et popup vindue fra.

i popup vinduet har jeg en formknap:

<form action="kurv.php" method=get>
<input type="hidden" name="vareid" value="id">
<input type="submit" value="Læg i kurv">
</form>

Det skal være sådan at når jeg trykker på formknappen så lukker den popup vinduet og skifter(siden hvor vinduet blev åbnet) til kurv.php
Avatar billede olebole Juniormester
14. november 2006 - 13:19 #1
<ole>

Så skriver du i dit dokument 'kurv.php':

<?php

// Her opdaterer du DB og foretager dig, hvad du ellers skal

?>
<html>
<script type="text/JavaScript">
opener.location.reload(true);
window.close();
</script>
</html>

- så opdateres siden og popup'en lukkes, så snart PHP'en er kørt  ;o)

/mvh
</bole>
Avatar billede cow2 Nybegynder
14. november 2006 - 13:44 #2
nej altså det skal være når jeg trykker på læg i kurv at popup vinduet lukkes og hovede vinduet skifter til kurv...
Avatar billede psykochicken Nybegynder
14. november 2006 - 14:18 #3
prøv at rette: opener.location.reload(true);
til: opener.location.href="kurv.php";
i olebole´s script

/psc
Avatar billede olebole Juniormester
14. november 2006 - 15:04 #4
cow2 >> Hvis du ikke vil lave det, som alle andre gør, må du forklare i enkeltheder, hvad det er, der skal ske  =)
Avatar billede psykochicken Nybegynder
14. november 2006 - 15:11 #5
arh ole....mon ikke "autopiloten" har været slået lidt til....!o)

Hvor meget mere enkelt kan "...lukker den popup vinduet og skifter(siden hvor vinduet blev åbnet) til kurv.php..." skrives ;o)
Avatar billede cow2 Nybegynder
14. november 2006 - 15:19 #6
Der skal vel også være noget på den side hvor jeg trykker "læg i kurv" ? (altså popup vinduet) så at når man trykker på knappen i popup vinduet så lukkes popup vinduet og hovedsiden skifter til kurv.php

Ved ikke hvordan jeg ellers lige skal forklare ?!!

lige nu bruger jeg:

<input type="button" onclick="opener.location.href='kurv.php?vareid=<?echo $id; ?>';opener.focus();window.close();return false" value="Læg i kurv">

men der får jeg jo ikke værdierne med fra min form, men ellers virker det fint :)
Avatar billede olebole Juniormester
14. november 2006 - 15:34 #7
psykochicken >> Jo, helt afgjort ... og måske endda flere af slagsen ... bare ikke min  ;o)

cow2 >> Jeg forstår ikke dit problem  :)

I mit eksempel, trykker man på knappen i popup'en - hvorved formen submittes og der indsættes i DB. Når PHP'en er kørt (og det sker naturligvis i popup-vinduet), reloades hovedsiden og popup'en lukkes ... helt automatisk.
Da PHP'en bliver afviklet i popup'en - og denne først opdaterer hovesiden og lukker sig selv, når alt er kørt, kan du umuligt undgå at få de nye data med på hovedsiden.

Hvis nogen kan drømme en simplere eller mere sikker metode op, er jeg absolut lutter øren!  =)
Avatar billede cow2 Nybegynder
14. november 2006 - 15:43 #8
jamen det der er meningen at php'en IKKE skal køres i popup'en, men at når man submitter så lukkes popup vinduet og alle data'erne fra formen i popupvinduet sendes til kurv.php som køres i hovedvinduet...

men det kan man måske ikke ?
Avatar billede olebole Juniormester
14. november 2006 - 15:48 #9
- ehhh .... jooohh ... men hvorfor dog? Er det ikke meningen, varen skal lægges i databasen, når man vælger 'Læg i kurv'? I så fald er det betydeligt fiksere at gøre det i et lille popup-vindue, der loader lynhurtigt - mens hoveddokumentet garanteret er voldsomt meget større og tager meget længere tid at loade  ;o)
Avatar billede psykochicken Nybegynder
14. november 2006 - 15:50 #10
Ole >> hehe...jeg bøjer mig i støvet og erkender at jeg tager tingene for bogstaveligt ;o)
Avatar billede cow2 Nybegynder
14. november 2006 - 15:51 #11
jo men det er fordi jeg gerne vil holde det hele i en samlet fil (lidt svært at forklare ;) ... hvis det kan lade sig at gøre på den måde jeg beskrev, så er det sådan jeg vil starte med at gøre det.
Avatar billede cow2 Nybegynder
14. november 2006 - 17:33 #12
ingen der havde en ide til hvordan jeg skal lave dette ?
Avatar billede psykochicken Nybegynder
14. november 2006 - 18:09 #13
Så kræver det at du fortæller, hvilke funktioner du har på hovedsiden til at gemme oplysninger i db-en og reloade siden med, og hvordan og hvornår de fyres af.

Et gæt kunne være at du har en form, der skal submittes.
I så fald kunne popup-en indeholde denne knap:
<input type="button" value="Læg i kurv" onclick="opener.document.FORMNAVN.submit();self.close()">

...men igen, det er et gæt og du må nok forklare noget mere (evt. vise et eksempel) hvis du vil have et kvalificeret bud ;o)
Avatar billede cow2 Nybegynder
14. november 2006 - 18:32 #14
side.php (side hvor popup åbnes fra)

popup.php(popup vindue med form. på denne side SUBMITTER man formen)

kurv.php (side med php/mysql kode som indsætter værdierne fra (formen på popup.php) i databasen.

når man submitter formen i popup vinduet (popup.php) skal popup vinduet lukkes, og hovedsiden skiftet til kurv.php hvor også værdierne fra formen skal sendes til kurv.php
Avatar billede psykochicken Nybegynder
14. november 2006 - 22:10 #15
...måske er jeg lidt tung, men jeg forstår det stadig ikke...

Har du en funktion, der gemmer det valgte produkt i databasen - hvis ja, hvor, hvordan fyres den af og hvornår ?

/psc
Avatar billede cow2 Nybegynder
15. november 2006 - 09:39 #16
funktionen (php/mysql) ligger på siden kurv.php, så den skal bare have info fra formen af:

fx. kurv.php?vareid=ID, og så lægger kurv.php varen i databasen!
Avatar billede mclemens Nybegynder
15. november 2006 - 21:15 #17
Hmmm, jeg fanger den heller ikke helt ...

14/11-2006 15:19:00 - <input type="button" onclick="opener.location.href='kurv.php?vareid=<?echo $id; ?>';opener.focus();window.close();return false" value="Læg i kurv">

virker næsten fint iflg. [ men der får jeg jo ikke værdierne med fra min form, men ellers virker det fint :) ] ... hvilke informationer kommer ikke med ? Nogle fra popup vinduet ? Hvis ja, hvilke oplysninger ... stk. antal ?


- En mulighed kunne så være:

<input type="button" onclick="opener.location.href='kurv.php?vareid=<?echo $id; ?>&stk='+this.form.stk_antal;opener.focus();window.close();return false" value="Læg i kurv">

... eller er det andre oplysninger, der ikke kommer med ?
- Værdierne kan scriptes over via. urlen hvis det er ?
Avatar billede mclemens Nybegynder
15. november 2006 - 21:59 #18
... Det jeg mente er noget i denne stil:

test.html:
----------
<!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>Ingen titel</title>

</head><body>
<a href="popup.html" target="popupper">Popup</a>
</body></html>

-----------------------------------

kurv.html:
-----------
<!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>Ingen titel</title>

</head><body>

</body></html>

----------------------


popup.html:
-----------

<!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>Ingen titel</title>

<script type="text/javascript">

function test(f){

  vals="";

  elms=f.getElementsByTagName("input");

  for(i=0,i2=elms.length;i<i2;i++){
    if(elms[i].name)vals+=((vals.length>0)?"&":"")+elms[i].name+"="+escape(elms[i].value);
  }

  opener.location.href='kurv.html?'+vals;
  opener.focus();
  window.close();
  return false;

}

</script>

</head><body>
<form onsubmit="return test(this);" method="get" action="#Javascript_fordres">
<input type="text" name="noget" value="noget">
<input type="text" name="noget2" value="noget2">
<input type="text" name="varenr" value="1234">
<input type="text" name="stk" value="1">
<input type="submit" value="ok">
</form>
</body></html>

----------------------

... men om det er det du mente med at
variablerne ikke kom med ved jeg ikke helt ...
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