Avatar billede anders_h Novice
22. april 2005 - 13:29 Der er 10 kommentarer og
1 løsning

Sende indhold af tekstfelt videre til popup vindue

Hejsa

Jeg har en formular med et tekstfelt, hvor man selvfølgelig kan skrive noget tekst. Når man trykker submit, åbner der et popupvindue. Alt det virker fint nok, men hvordan kan jeg sende værdien af tekstfeltet videre til popupvinduet med GET el. POST?

Jeg har funktionen til at lave et popupvindue, samt formularen:
                                <form method="get" onSubmit="PopUp('side.php', 400, 200);return false;" name="form1">
<input type="text" name="brugerinput" size="10">&nbsp;
<input type="submit">
</form>

Mvh. Anders
Avatar billede roenving Novice
22. april 2005 - 15:09 #1
Giv popuppen et windowName, som du sætter som target på form-tagget !-)

windowName er den anden parameter i window.open:

window.open(URL, windowName, windowProperties);

-- så du skal kigge i Popup-funktionen, og der kigge efter hvad det er (eller udvide funktionen, så du selv kan bestemme det !-)

-- da vinduet skal initialiseres, før det kan modtage sagen, skal vi lige give browseren tid dertil, så den samlede ting kommer f.eks. til at se sådan ud:

<script type="text/javascript">
function Popup(url,name,width,height){
  var t = (screen.availHeight-height)/2;
  var l = (screen.availWidth-width)/2;
  window.open(url,name,"width=" + width + ",height=" + height + ",top=" + t + ",left=" + l + ",status=no");
}
</script>

<form name="form1" method="get" action="side.php" target="popVindue" onsubmit="Popup(this.action,this.target,400,200);setTimeout(function(){this.submit()},100);return false;">

-- det er dog ikke den mest hensigtsmæssige måde, at udføre opgaven på, da det er svært at være sikker på, om den givne tid er tilstrækkelig til at browseren når at initialisere det nye vindue, så man kunne vende opgaven om, og få popuppen til at submitte:

<script type="text/javascript">
function Popup(url,name,width,height){
  var t = (screen.availHeight-height)/2;
  var l = (screen.availWidth-width)/2;
  var newWin = window.open(url,name,"width=" + width + ",height=" + height + ",top=" + t + ",left=" + l + ",status=no");
  var pdoc = newWin.document;
  pdoc.open();
  pdoc.write('<scr'+'ipt type="text/javascript">window.onload=function(){opener.form1.submit()}<\57sc'+'ipt>');
  pdoc.close();
}
</script>

<form name="form1" method="get" action="side.php" target="popVindue" onsubmit="Popup(this.action,this.target,400,200);return false;">

Som det så også indirekte fremgår, kan man jo direkte skrive resultatet ind i popuppen !-)
Avatar billede roenving Novice
22. april 2005 - 15:10 #2
Hov, der mangler et r:

  pdoc.write('<scr'+'ipt type="text/javascript">window.onload=function(){opener.form1.submit()}<\57sc'+'ript>');
Avatar billede anders_h Novice
22. april 2005 - 16:56 #3
Hej roenving, og tak for indlægget!

Jeg har kopieret dit eksempel over i mit dokument, og der åbnes et popupvindue, men det er ikke den side, som action="" er sat til, det er bare en tom side der åbner.

Har du et forslag?

Mvh. Anders
Avatar billede roenving Novice
22. april 2005 - 16:59 #4
-- fik du rettelsen med ?-)
Avatar billede anders_h Novice
22. april 2005 - 17:00 #5
Jeps..

Når jeg trykker vis kilde, i popupvinduet står der:
<script type="text/javascript">window.onload=function(){opener.form1.submit()}</script>
Avatar billede roenving Novice
22. april 2005 - 17:11 #6
Det fatter jeg ikke en meter af, jeg håber, der er nogen andre der kan forklare, hvorfor Gecko'en ikke gør det (IE fungerer upåklageligt !-)
Avatar billede anders_h Novice
22. april 2005 - 17:18 #7
Ja det kan være det er fordi jeg bruger Firefox
Avatar billede anders_h Novice
22. april 2005 - 17:24 #8
Det fungerer også fint i IE ved mig.
Avatar billede anders_h Novice
13. maj 2005 - 19:55 #9
Hej Roenving, kan du ikke lige smide et svar? Og tak for hjælpen :-)
Avatar billede roenving Novice
14. maj 2005 - 08:19 #10
Oki '-)
Avatar billede roenving Novice
25. juli 2005 - 14:51 #11
-- og 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